/* intel-drone.css — Regels die alleen de Intel Academy en de Drone Academy delen
   (Drone is op het sjabloon van Intel gebouwd): het processchema (.flow-*), de
   kleuren van de vier kaartcategorieën (.t-frame/.t-prod/.t-req/.t-anl) en wat
   losse opmaak. VKS en EW laden dit niet; VKS definieert een deel hiervan anders.
   Gedeeld bestand: wijzig het in shared/files/intel-drone.css en draai node shared/sync.mjs.
   Laadt na kaarten.css en vóór css/style.css. */
.academies a:hover { border-color: var(--accent-dim); color: var(--accent); }
.home-flow { margin: 0 0 40px; }
.home-flow-h { font-family: var(--mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 10px; }
article.lesson blockquote { margin: 18px 0; padding: 10px 18px; border-left: 3px solid var(--accent-dim); background: var(--bg-panel); border-radius: 0 8px 8px 0; color: var(--text-dim); font-style: italic; max-width: 78ch; }
.keypt { background: rgba(70,193,136,0.08); border: 1px solid rgba(70,193,136,0.3); }
.flow-stage { position: relative; background: var(--bg-panel); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; padding: 10px; max-width: 980px; }
.flow-stage svg { display: block; width: 100%; height: auto; }
.flow-node { cursor: pointer; }
.flow-node rect { fill: var(--bg-raised); stroke: var(--border); stroke-width: 1.5; transition: stroke 0.12s, fill 0.12s; rx: 9; }
.flow-node:hover rect { stroke: var(--accent); fill: var(--bg-hover); }
.flow-node text { fill: var(--text); font-family: var(--mono); font-size: 12.5px; pointer-events: none; }
.flow-node .fn-sub { fill: var(--text-faint); font-size: 10px; }
.flow-node.fn-cycle rect { stroke: rgba(70,193,136,0.5); }
.flow-node.fn-cycle:hover rect { stroke: var(--steel); }
.flow-node.fn-ipb rect { stroke: var(--accent-dim); }
.flow-node.fn-ipb:hover rect { stroke: var(--accent); }
.flow-node.fn-mdmp rect { stroke: rgba(232,176,74,0.45); }
.flow-node.fn-mdmp:hover rect { stroke: var(--amber); }
.flow-arrow { stroke: var(--text-faint); stroke-width: 1.5; fill: none; marker-end: url(#fl-arr); }
.flow-arrow-accent { stroke: var(--accent-dim); stroke-width: 1.8; fill: none; marker-end: url(#fl-arr-a); }
.flow-dash { stroke-dasharray: 5 4; }
.flow-lane { fill: var(--text-faint); font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; }
.flow-tooltip {
  position: absolute; z-index: 5; pointer-events: none; max-width: 300px;
  background: rgba(13,18,26,0.97); border: 1px solid var(--accent-dim); border-radius: 9px;
  padding: 10px 12px; box-shadow: 0 8px 28px rgba(0,0,0,0.6);
}
.flow-tooltip .ft-name { font-weight: 700; font-size: 13.5px; color: var(--text); }
.flow-tooltip .ft-desc { font-size: 12.5px; color: var(--text-dim); margin-top: 3px; line-height: 1.5; }
.flow-tooltip .ft-go { font-family: var(--mono); font-size: 10.5px; color: var(--accent); margin-top: 6px; }
.flow-hint { margin-top: 8px; font-family: var(--mono); font-size: 11px; color: rgba(150,165,185,0.6); padding: 0 4px 4px; }
.thr-card.t-frame { border-left-color: var(--accent); }
.thr-card.t-prod { border-left-color: var(--amber); }
.thr-card.t-req { border-left-color: var(--steel); }
.thr-card.t-anl { border-left-color: #b48ce8; }
.t-prod .thr-badge { background: rgba(232,176,74,0.16); color: var(--amber); border-color: rgba(232,176,74,0.3); }
.t-req .thr-badge { background: rgba(70,193,136,0.16); color: var(--steel); border-color: rgba(70,193,136,0.3); }
.t-anl .thr-badge { background: rgba(180,140,232,0.16); color: #b48ce8; border-color: rgba(180,140,232,0.3); }
.t-prod .ts-badge { background: rgba(232,176,74,0.16); color: var(--amber); border: 1px solid rgba(232,176,74,0.4); }
.t-req .ts-badge { background: rgba(70,193,136,0.16); color: var(--steel); border: 1px solid rgba(70,193,136,0.4); }
.t-anl .ts-badge { background: rgba(180,140,232,0.16); color: #b48ce8; border: 1px solid rgba(180,140,232,0.4); }
.ts-link { margin-top: 12px; font-size: 12.5px; }
.ts-link a { color: var(--accent); text-decoration: none; border-bottom: 1px dotted var(--accent-dim); }
.ts-v { color: var(--text); text-align: right; font-size: 12.5px; }
@media (max-width: 900px) {
  .academies { display: none; }
  .content { margin-left: 0; padding: 24px 18px 80px; }
  .search-wrap { width: auto; flex: 1; }
}
@media print {
  .topbar, .sidebar, .sidebar-overlay, #search-results, .nav-toggle, .print-fab, .thr-filters, .flow-hint,
  .les-share, .les-topline, .les-modal-back { display: none !important; }
  .content { display: block !important; margin: 0 !important; padding: 0 !important; max-width: none !important; }
  .note, .warn, .example, .keypt, .ts-panel, table.data, .les-quiz { break-inside: avoid; }
}
