/* Skills im KI-Hub (frontend/hub_skills.js) */
.hsk-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.hsk-badge{width:38px;height:38px;border-radius:11px;background:var(--tll);color:var(--tl);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hsk-tabs{margin-bottom:14px}
.hsk-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.hsk-actions .btn{display:inline-flex;align-items:center;gap:6px}
.hsk-search{width:100%;box-sizing:border-box;margin-bottom:8px}
.hsk-list{border-radius:12px;transition:background .15s ease, box-shadow .15s ease}
.hsk-list.over{background:var(--tll);box-shadow:0 0 0 2px var(--tl) inset}
.hsk-row{transition:border-color .15s ease, background .15s ease}
.hsk-row.on{border-color:var(--pk);background:var(--pkl)}
.hsk-ico{width:30px;height:30px;border-radius:9px;background:var(--tll);color:var(--tl);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hsk-row.on .hsk-ico{background:var(--w);color:var(--pk)}
.hsk-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.hsk-desc{margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hsk-use{min-width:92px;display:inline-flex;align-items:center;justify-content:center;gap:4px}
.hsk-empty{padding:26px 12px;text-align:center;line-height:1.6}
.hsk-ta,.modal textarea.hsk-ta{width:100%;box-sizing:border-box;resize:vertical;font:inherit;font-size:13px}
.hsk-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;min-height:180px}
.hsk-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;background:var(--bg);border-radius:5px;padding:1px 6px}
/* .modal label (display:block, 10px) would otherwise win over the drop zone */
.hsk-drop,.modal label.hsk-drop{display:flex;align-items:center;gap:12px;margin:0;font-size:12.5px;font-weight:400;line-height:1.5;border:1.5px dashed var(--bd2);border-radius:12px;padding:16px 18px;cursor:pointer;color:var(--tx2);transition:border-color .15s ease, background .15s ease}
.hsk-drop:hover,.hsk-drop.over{border-color:var(--tl);background:var(--tll);color:var(--tl)}
.hsk-drop b{color:var(--tx)}
.hsk-drop svg{flex-shrink:0}
.hsk-files{display:flex;flex-direction:column;gap:4px;margin:8px 0}
.hsk-file{display:flex;align-items:center;gap:8px;border:1px solid var(--bd);border-radius:9px;padding:5px 8px 5px 10px;font-size:12px;color:var(--tx2)}
.hsk-file-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx)}
a.hsk-file-n:hover{color:var(--pk)}
.hsk-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.hsk-busy{display:flex;gap:12px;align-items:center;border-radius:12px;background:var(--bg);padding:18px;margin:6px 0}
.hsk-note{display:flex;gap:10px;align-items:flex-start;border-radius:10px;background:var(--tll);color:var(--tx);padding:10px 12px;margin-bottom:12px;font-size:12.5px;animation:hsk-in .25s var(--ease-out, ease-out)}
.hsk-note>svg{color:var(--tl);flex-shrink:0;margin-top:2px}
.hsk-note>div{flex:1}
.hsk-warn{background:var(--yel)}
.hsk-warn>svg{color:var(--ye)}
.hsk-revise{display:flex;gap:8px;margin:-4px 0 12px}
.hsk-revise .btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.hsk-sec{display:flex;align-items:center;gap:8px;font-size:13px;margin:14px 0 2px}
.hsk-sec .btn{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.hsk-preview{border:1px solid var(--bd);border-radius:10px;padding:10px;margin-top:6px;background:var(--bg)}
.hsk-preview pre{margin:0;max-height:240px;overflow:auto;white-space:pre-wrap;font-size:11.5px;line-height:1.5}
.hub-pill.hsk-on{color:var(--pk);background:var(--pkl);padding-right:4px}
.hsk-x{border:none;background:none;color:inherit;cursor:pointer;padding:0 2px;display:inline-flex;opacity:.7}
.hsk-x:hover{opacity:1}
.hub-tile.hsk-tile-on{box-shadow:0 0 0 1.5px var(--pk) inset}
.hub-tile.hsk-tile-on{padding-right:11px;padding-bottom:30px}
.hub-tile.hsk-tile-on .hub-tile-go{top:auto;bottom:8px;right:8px;transform:none;width:auto;height:20px;padding:0 8px;border-radius:999px;font-size:10.5px;font-weight:700;color:var(--pk)}
@keyframes hsk-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .hsk-grid2{grid-template-columns:1fr}
  .hsk-row{flex-wrap:wrap}
  .hsk-revise{flex-direction:column}
}

/* HTML-Grafiken aus Skills: Vorschau-Karte unter der Antwort */
.hub-gfx{margin-top:8px;border:1px solid var(--bd);border-radius:14px;background:var(--w);box-shadow:var(--sh);padding:10px 12px 12px;animation:hub-prop-in .35s var(--ease-out,ease-out)}
.hub-gfx-head{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-bottom:8px}
.hub-gfx-k{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--tx2,#666)}
.hub-gfx-acts{display:flex;gap:6px;align-items:center}
.hub-gfx-acts .btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px}
.hub-gfx-frame{position:relative;overflow:hidden;border-radius:8px;border:1px solid var(--bd);background:#fff;height:240px}
.hub-gfx-frame iframe{position:absolute;left:0;top:0;width:1200px;height:900px;border:0;transform-origin:0 0;pointer-events:none}
.hub-gfx-frame.big{max-height:78vh;overflow:auto}
.hub-gfx-frame.big iframe{pointer-events:auto}

/* Prüfung für den Hub (hub_skills.compatibility) */
.hsk-compat{display:block}
.hsk-compat.partial{background:var(--yel)}
.hsk-compat.limited{background:var(--rdl)}
.hsk-compat summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}
.hsk-compat summary::-webkit-details-marker{display:none}
.hsk-compat ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.hsk-compat li{display:flex;gap:7px;align-items:flex-start}
.hsk-compat li svg{flex-shrink:0;margin-top:2px}
.hsk-compat li.ok svg{color:var(--gn)}
.hsk-compat li.warn svg{color:var(--ye)}
.hsk-compat li.block svg{color:var(--rd)}
.hsk-compat li.info svg{color:var(--tl)}
.hsk-compat-pill.partial{background:var(--yel);color:var(--ye)}
.hsk-compat-pill.limited{background:var(--rdl);color:var(--rd)}
