/* Shared demo-reel styles — dark HUD, claim-safe terminal films */
:root{
  --bg:#050c16;--panel:#081625;--line:rgba(86,206,255,.28);--tx:#dcefff;
  --dim:#9ab2c5;--cy:#6fd8ff;--mint:#3df0bb;--amb:#ffb547;--red:#ff7a84;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:Inter,ui-sans-serif,system-ui,sans-serif;
}
.demo-wrap{max-width:980px;margin:0 auto}
.demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.demo-card{
  border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#0a1624,#06101a);
  overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.45)
}
.demo-card header{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:12px 14px;border-bottom:1px solid rgba(86,206,255,.16);
  font:600 12px/1.3 var(--mono);color:var(--cy);letter-spacing:.04em;text-transform:uppercase
}
.demo-card header span{color:var(--dim);font-weight:500;text-transform:none;letter-spacing:0}
.demo-stage{position:relative;aspect-ratio:16/10;background:#02060d;overflow:hidden}
.demo-stage.tall{aspect-ratio:4/3}
.term{
  position:absolute;inset:12px;border:1px solid rgba(86,206,255,.22);border-radius:10px;
  background:#040a12;padding:12px 14px;font:13.5px/1.55 var(--mono);color:#c8e0ef;
  overflow:hidden;white-space:pre-wrap
}
.term .ok{color:var(--mint)}.term .bad{color:var(--red)}.term .amb{color:var(--amb)}.term .cy{color:var(--cy)}
.term .dim{color:#9ab2c5}
.term .cursor{display:inline-block;width:8px;height:14px;background:var(--cy);vertical-align:text-bottom;
  animation:blink 1s step-end infinite}
@keyframes blink{50%{opacity:0}}
/* Type-on film: hide lines then reveal */
.term.film .ln{opacity:0;animation:fadeLine .01s forwards}
.term.film .ln:nth-child(1){animation-delay:.2s}
.term.film .ln:nth-child(2){animation-delay:.55s}
.term.film .ln:nth-child(3){animation-delay:.9s}
.term.film .ln:nth-child(4){animation-delay:1.25s}
.term.film .ln:nth-child(5){animation-delay:1.6s}
.term.film .ln:nth-child(6){animation-delay:1.95s}
.term.film .ln:nth-child(7){animation-delay:2.3s}
.term.film .ln:nth-child(8){animation-delay:2.65s}
.term.film .ln:nth-child(9){animation-delay:3s}
.term.film .ln:nth-child(10){animation-delay:3.35s}
.term.film .ln:nth-child(11){animation-delay:3.7s}
.term.film .ln:nth-child(12){animation-delay:4.05s}
.term.film .ln:nth-child(13){animation-delay:4.4s}
@keyframes fadeLine{to{opacity:1}}
/* The type-on reveal runs once; the receipt must remain readable afterward. */
/* HUD ambient loop (brand — not fake product) */
.hud-loop{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 50% 40% at 70% 45%,rgba(86,206,255,.12),transparent 60%),
    linear-gradient(90deg,rgba(86,206,255,.04) 1px,transparent 1px),
    linear-gradient(0deg,rgba(61,240,187,.03) 1px,transparent 1px),
    #03080f;
  background-size:auto,28px 28px,28px 28px,auto
}
.hud-loop::before{
  content:"";position:absolute;inset:-40% 20% -40% 20%;
  background:repeating-linear-gradient(
    180deg,transparent 0 10px,rgba(86,206,255,.07) 10px 11px
  );
  animation:rain 4s linear infinite;opacity:.55;pointer-events:none
}
@keyframes rain{to{transform:translateY(40%)}}
.hud-core{
  position:absolute;left:50%;top:48%;width:72px;height:72px;margin:-36px 0 0 -36px;
  border:2px solid rgba(86,206,255,.55);border-radius:50%;
  box-shadow:0 0 28px rgba(86,206,255,.35),inset 0 0 18px rgba(61,240,187,.15);
  animation:pulse 2.4s ease-in-out infinite
}
.hud-core::after{
  content:"";position:absolute;inset:14px;border:1px solid rgba(61,240,187,.5);border-radius:50%
}
@keyframes pulse{50%{transform:scale(1.06);box-shadow:0 0 40px rgba(86,206,255,.5),inset 0 0 22px rgba(61,240,187,.25)}}
.hud-label{
  position:absolute;left:16px;bottom:14px;right:16px;
  font:600 12px/1.4 var(--mono);color:var(--mint);letter-spacing:.06em;text-transform:uppercase
}
.hud-label small{display:block;color:var(--dim);font-weight:500;margin-top:4px;text-transform:none;letter-spacing:0}
.demo-card footer{
  padding:12px 14px 14px;font:14px/1.45 var(--sans);color:var(--dim);border-top:1px solid rgba(86,206,255,.12)
}
.demo-card footer strong{color:var(--tx);font-weight:600}
.demo-card footer a{color:var(--cy)}
.badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.badge-row span{
  font:600 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;
  padding:5px 8px;border-radius:999px;border:1px solid rgba(86,206,255,.25);color:var(--cy)
}
.badge-row .mint{border-color:rgba(61,240,187,.4);color:var(--mint)}
.badge-row .dim{color:var(--dim);border-color:rgba(108,138,166,.35)}
.x-embed-wrap{margin-top:10px;max-width:560px}
.claim-note{
  margin:18px 0;padding:12px 14px;border-left:3px solid var(--amb);background:rgba(255,181,71,.06);
  font:13.5px/1.45 var(--sans);color:var(--dim)
}
.claim-note b{color:var(--amb);font:700 11px/1 var(--mono);letter-spacing:.08em}
/* arm / deny flip for leashes */
.arm-board{position:absolute;inset:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.arm-cell{
  border:1px solid rgba(86,206,255,.25);border-radius:10px;padding:12px;background:rgba(4,10,18,.9);
  font:12px/1.4 var(--mono)
}
.arm-cell .t{color:var(--dim);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.arm-cell .v{font-size:18px;font-weight:700}
.arm-cell.ok .v{color:var(--mint)}.arm-cell.deny .v{color:var(--red)}
.arm-cell.ok{box-shadow:inset 0 0 0 1px rgba(61,240,187,.2);animation:glowOk 3s ease-in-out infinite}
.arm-cell.deny{box-shadow:inset 0 0 0 1px rgba(255,122,132,.25);animation:glowBad 3s ease-in-out infinite}
@keyframes glowOk{50%{box-shadow:inset 0 0 0 1px rgba(61,240,187,.55)}}
@keyframes glowBad{50%{box-shadow:inset 0 0 0 1px rgba(255,122,132,.55)}}
