/* ============================================================
   FAQ — light terminal REPL · answers type themselves
   ============================================================ */
.s-faq{background:#e9f1fe}
.faq{position:relative;max-width:980px;margin:0 auto;padding:84px 24px 96px;overflow:hidden}
#faqRain{position:absolute;inset:0;z-index:0;pointer-events:none}
.fq-scan{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;
  background:repeating-linear-gradient(0deg,rgba(37,99,235,.028) 0 1px,transparent 1px 3px)}
.faq > *{position:relative;z-index:1}

.fq-shell{display:flex;align-items:center;gap:2px;margin:-24px 0 40px;padding:0 2px 14px;
  font-family:ui-monospace,Menlo,monospace;font-size:12.5px;font-weight:700;letter-spacing:.02em;
  border-bottom:1px solid rgba(37,99,235,.18);
  mask-image:linear-gradient(90deg,#000 82%,transparent);
  -webkit-mask-image:linear-gradient(90deg,#000 82%,transparent)}
.fq-shell .hu{color:#0f766e}
.fq-shell .hs{color:#64748b}
.fq-shell .hp{color:#1d4ed8}
.fq-shcar{display:inline-block;width:8px;height:15px;margin-left:9px;background:#2563eb;
  box-shadow:0 0 10px rgba(37,99,235,.5);animation:caretBlink 1.1s steps(1) infinite}
.fq-prog{margin-left:18px;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#0f766e}
.fq-shell .hr{margin-left:auto;font-size:10.5px;color:rgba(29,78,216,.4);letter-spacing:.14em}

.faq-head{text-align:center;margin-bottom:44px}
.fq-h2{font-family:var(--font-d);font-size:clamp(30px,3.4vw,44px);font-weight:800;letter-spacing:-.024em;color:#0b1730}
.fq-h2 .rot{font-size:clamp(24px,2.9vw,38px)}
.fq-h2 .bt{color:#2563eb}
.fq-h2 .ts-word{font-family:ui-monospace,Menlo,monospace;font-weight:800;color:#1d4ed8;
  background:linear-gradient(180deg,transparent 58%,rgba(56,189,248,.3) 58%)}
.fq-h2 .rot-caret{display:inline-block;width:9px;height:26px;margin-left:5px;vertical-align:-3px;background:#2563eb;
  box-shadow:0 0 10px rgba(37,99,235,.5);animation:caretBlink 1.1s steps(1) infinite}
.fq-sub{margin:14px auto 0;max-width:460px;font-size:16px;line-height:1.6;color:#40557e}

/* the REPL list */
.fq-list{display:flex;flex-direction:column}
.fq{border-bottom:1px solid rgba(37,99,235,.12);opacity:0;transform:translateY(14px);
  transition:opacity .45s ease,transform .5s var(--ease-pop)}
.fq.in{opacity:1;transform:none}
.fq-q{display:flex;align-items:baseline;gap:9px;width:100%;text-align:left;padding:17px 4px;cursor:pointer;
  background:none;border:0;font-family:ui-monospace,Menlo,monospace;font-size:13.5px;font-weight:700;color:#28406e;
  transition:color .2s ease}
.fq-ix{font-size:10px;font-weight:800;color:#7d95c1;letter-spacing:.08em;flex:none}
.fq-q .pr{color:#2563eb;font-weight:800;flex:none}
.fq-cmd{color:#0f766e;flex:none}
.fq-q em{font-style:normal;color:#0b1730;font-weight:800;min-width:0}
.fq-car{display:inline-block;width:7px;height:13px;margin-left:2px;background:#2563eb;flex:none;
  box-shadow:0 0 8px rgba(37,99,235,.5);opacity:0;transition:opacity .2s ease;align-self:center}
.fq-q:hover .fq-car,.fq.open .fq-car{opacity:1;animation:caretBlink 1.1s steps(1) infinite}
.fq-tog{margin-left:auto;flex:none;width:24px;height:24px;display:grid;place-items:center;align-self:center;
  font-family:ui-monospace,Menlo,monospace;font-size:14px;font-weight:800;color:#2563eb;
  border:1.5px solid rgba(37,99,235,.35);border-radius:7px;
  transition:transform .35s var(--ease-pop),background .25s ease,color .25s ease,border-color .25s ease}
.fq-q:hover .fq-tog{border-color:rgba(37,99,235,.7);box-shadow:0 0 12px -2px rgba(37,99,235,.4)}
.fq.open .fq-tog{transform:rotate(45deg);background:#2563eb;color:#fff;border-color:#2563eb}
.fq-q:hover em{background:linear-gradient(180deg,transparent 62%,rgba(56,189,248,.22) 62%)}
.fq.open .fq-q em{background:linear-gradient(180deg,transparent 62%,rgba(56,189,248,.32) 62%)}

.fq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease-pop)}
.fq.open .fq-a{grid-template-rows:1fr}
.fq-aw{overflow:hidden;display:flex;gap:12px;min-height:0}
.fq-aw i{font-style:normal;flex:none;padding-left:34px;color:#38bdf8;font-family:ui-monospace,Menlo,monospace;font-weight:800;
  text-shadow:0 0 10px rgba(56,189,248,.5)}
.fq-aw p{margin:0 0 20px;font-size:15px;line-height:1.7;color:#33486e;max-width:62ch;min-height:1.7em}
.fq-aw p::after{content:"";display:none}
.fq.typing .fq-aw p::after{content:"▊";display:inline;color:#2563eb;margin-left:2px;animation:caretBlink .7s steps(1) infinite}

.fq-tail{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:52px;
  font-family:ui-monospace,Menlo,monospace;font-size:14px;font-weight:800;color:#28406e}
.fq-tail .pr{color:#2563eb}
.fq-tailtxt{background:linear-gradient(180deg,transparent 62%,rgba(56,189,248,.25) 62%)}

@media (max-width:640px){
  .fq-q{flex-wrap:wrap;font-size:12.5px}
  .fq-cmd{display:none}
}
@media (prefers-reduced-motion:reduce){
  .fq-shcar,.fq-h2 .rot-caret,.fq-car{animation:none}
  .fq{opacity:1;transform:none}
  .fq.typing .fq-aw p::after{display:none}
}
