.fiLibrary{margin-top:1.5rem;padding-top:1.4rem;border-top:1px solid #365260;color:#c4d4dd;min-width:0}
.fiLibrary h4{font-size:1.4rem;margin:.45rem 0}
.fiLibrary p{line-height:1.6;font-size:.88rem}
.fiFilters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.8rem;margin:1rem 0}
.fiFilters label{display:flex;flex-direction:column;gap:.4rem;min-width:0;font-size:.85rem}
.fiLibrary input,.fiLibrary select{max-width:100%;min-width:0}
.fiLibrary button,.fiLibrary select,.fiLibrary input[type=search]{min-height:44px}
.fiLibrary button{white-space:normal}
.fiActions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}
.fiResults{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}
.fiCard{border:1px solid #35515f;background:#0b1922;border-radius:12px;padding:1rem;min-width:0;overflow-wrap:anywhere}
.fiCard h5{font-size:1.1rem;margin:.3rem 0 .7rem;line-height:1.45}
.fiCard a,.fiNext a{color:#8ddeff;text-decoration:underline;text-underline-offset:3px}
.fiCard .fiKind{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#8ddeff}
.fiCard .fiMeta,.fiCard .fiFormations{font-size:.8rem;color:#a8bfca}
.fiCard .fiLocator{border-left:2px solid #537f90;padding-left:.65rem}
.fiCard .fiAccess{color:#edcd93}
.fiCard details{border-top:1px solid #35515f;margin-top:.8rem;padding-top:.3rem}
.fiCard summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;color:#b8d8e7;font-size:.85rem}
.fiChoose{display:flex!important;flex-direction:row!important;align-items:center;gap:.55rem;min-height:44px;font-size:.85rem;cursor:pointer}
.fiChoose input{width:20px;height:20px;flex:0 0 20px;accent-color:#37bcec}
.fiPacket{border-top:1px solid #365260;margin-top:1.1rem;padding-top:.7rem}
.fiLibrary :focus-visible{outline:2px solid #8ddeff;outline-offset:3px}
.fiLibrary [hidden]{display:none!important}
@media(max-width:900px){.fiFilters{grid-template-columns:1fr}.fiResults{grid-template-columns:1fr}}
@media print{.fiFilters,.fiActions,.fiChoose,#fiMore,.fiPacket{display:none!important}.fiResults{display:block}.fiCard{break-inside:avoid;background:white;color:black;border-color:#777}.fiCard a,.fiCard p,.fiCard .fiAccess{color:black}}
.sdFormationIntel {
  overflow: hidden;
  padding: 1.1rem;
  background:
    radial-gradient(circle at 92% 8%, rgba(25, 189, 236, .13), transparent 34%),
    linear-gradient(145deg, #0b1720, #08131b);
  border-color: #2a5365;
}

.sdIntelHead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.sdIntelHead h3 {
  margin: .2rem 0 .35rem;
  font-size: 1.7rem;
}

.sdIntelHead p:not(.sdEyebrow) {
  max-width: 760px;
  margin: 0;
  color: #aebfc8;
  font-size: .88rem;
}

.sdEyebrow {
  margin: 0;
  color: #72d0f4;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.sdContextStatus {
  flex: 0 0 auto;
  border: 1px solid #35515f;
  border-radius: 999px;
  padding: .35rem .62rem;
  color: #9cb1bc;
  background: #071119;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .03em;
}

.sdContextStatus.high {
  border-color: #2e9174;
  color: #92e0c7;
  background: rgba(25, 115, 89, .15);
}

.sdContextStatus.moderate {
  border-color: #a57c2e;
  color: #f0ca75;
  background: rgba(137, 97, 21, .15);
}

.sdContextStatus.error {
  border-color: #a95858;
  color: #ffaaaa;
  background: rgba(137, 49, 49, .15);
}

.sdIntelGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: end;
}

.sdIntelGrid label,
.sdContextOutput {
  display: grid;
  gap: .42rem;
  color: #b8c8d2;
  font-size: .875rem;
}

.sdIntelGrid input,
.sdContextOutput textarea {
  width: 100%;
  border: 1px solid #315064;
  border-radius: 8px;
  background: #061017;
  color: #f3f7f9;
  padding: .72rem .78rem;
  font: inherit;
}

.sdIntelGrid input:focus,
.sdContextOutput textarea:focus {
  outline: 2px solid rgba(25, 189, 236, .35);
  outline-offset: 1px;
  border-color: #35bce9;
}

.sdIntelGrid button {
  min-height: 43px;
  border: 1px solid #19bdec;
  border-radius: 7px;
  padding: .68rem 1rem;
  cursor: pointer;
}

.sdContextResult {
  margin-top: 1rem;
  border-top: 1px solid #23414f;
  padding-top: 1rem;
}

.sdContextResult[hidden] {
  display: none;
}

.sdContextOutput textarea {
  min-height: 265px;
  resize: vertical;
  line-height: 1.55;
  color: #dce8ed;
}

.sdIntelActions {
  display: flex;
  justify-content: flex-end;
  margin-top: .55rem;
}

.sdIntelActions button {
  border: 1px solid #3b5360;
  border-radius: 6px;
  padding: .5rem .72rem;
  background: #101f28;
  color: #dce9ee;
  cursor: pointer;
}

.sdContextMeta {
  margin: .8rem 0;
  color: #9fb2bc;
  font-size: .8rem;
}

.sdContextMeta b {
  color: #dce7ec;
}

.sdContextFacts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.sdContextFact {
  border: 1px solid #243e4b;
  border-radius: 8px;
  padding: .7rem;
  background: rgba(5, 14, 20, .62);
}

.sdContextFact b {
  display: block;
  margin-bottom: .28rem;
  color: #70cdec;
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sdContextFact span {
  color: #c5d2d8;
  font-size: .82rem;
  line-height: 1.45;
}

.sdIntelSources {
  margin-top: .9rem;
  border-top: 1px solid #203944;
  padding-top: .75rem;
  color: #a9bcc5;
  font-size: .78rem;
}

.sdIntelSources > b {
  display: block;
  margin-bottom: .3rem;
  color: #dce7ec;
}

#sdContextSources {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .8rem;
}

#sdContextSources a {
  color: #72d0f4;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.sdIntelDisclaimer {
  margin: .9rem 0 0;
  border-left: 3px solid #d7a83c;
  padding-left: .7rem;
  color: #aeb9bc;
  font-size: .76rem;
  line-height: 1.5;
}

.sdDepthGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 760px) {
  .sdIntelGrid {
    grid-template-columns: 1fr;
  }

  .sdIntelGrid button {
    width: 100%;
  }
}

@media (max-width: 620px) {
  .sdIntelHead {
    display: block;
  }

  .sdContextStatus {
    display: inline-block;
    margin-top: .75rem;
  }

  .sdContextFacts,
  .sdDepthGrid {
    grid-template-columns: 1fr;
  }

  .sdContextOutput textarea {
    min-height: 320px;
  }
}

@media print {
  .sdFormationIntel {
    color: #111;
    background: #fff !important;
    border: 1px solid #999 !important;
    box-shadow: none !important;
  }

  .sdIntelGrid,
  .sdIntelActions,
  .sdIntelDisclaimer,
  .sdContextStatus {
    display: none !important;
  }

  .sdContextOutput textarea {
    min-height: 300px;
    color: #111 !important;
    background: #fff !important;
    border-color: #bbb !important;
  }

  .sdContextFact,
  .sdIntelSources,
  .sdContextMeta,
  .sdIntelHead p {
    color: #222 !important;
  }

  #sdContextSources a {
    color: #111 !important;
  }

  #sdContextSources a::after {
    content: " (" attr(href) ")";
    overflow-wrap: anywhere;
  }
}
