.fnModal{position:fixed;inset:0;z-index:120;display:none;place-items:center;padding:clamp(12px,3vw,40px);
  background:rgba(4,4,10,.86);backdrop-filter:blur(14px)}
.fnModal.on{display:grid}
.fnCard{width:min(660px,100%);max-height:90vh;overflow:auto;position:relative;
  background:var(--fnCardBg,#0C0C16);border:1px solid var(--fnCardLine,rgba(255,255,255,.12));
  padding:clamp(24px,4vw,46px);color:var(--fnCardInk,#F4F4FA)}
.fnX{position:absolute;top:12px;right:14px;background:none;border:0;color:inherit;opacity:.5;
  font-size:26px;line-height:1;cursor:pointer}
.fnX:hover{opacity:1}
.fnProg{height:2px;background:rgba(128,128,160,.25);margin-bottom:26px}
.fnProg i{display:block;height:100%;width:0;background:linear-gradient(90deg,#5467F6,#5500F2);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.fnStep{animation:fnIn .5s cubic-bezier(.2,.8,.2,1)}
@keyframes fnIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.fnNo{font-family:var(--mno,monospace);font-size:10px;letter-spacing:.24em;opacity:.5}
.fnCard h3{font-family:var(--dsp,sans-serif);font-size:clamp(22px,3.4vw,34px);line-height:1.05;margin:10px 0 22px}
.fnCard input,.fnCard textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--fnCardLine,rgba(255,255,255,.18));
  color:inherit;font-family:inherit;font-size:19px;padding:10px 0}
.fnCard textarea{min-height:110px;resize:vertical;border:1px solid var(--fnCardLine,rgba(255,255,255,.18));padding:12px;font-size:16px}
.fnCard input:focus,.fnCard textarea:focus{outline:none;border-color:#5467F6}
.fnChips{display:flex;flex-wrap:wrap;gap:8px}
.fnChips button{font-family:var(--mno,monospace);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  background:none;border:1px solid var(--fnCardLine,rgba(255,255,255,.18));color:inherit;opacity:.75;
  padding:11px 15px;cursor:pointer;transition:.25s}
.fnChips button:hover{opacity:1;border-color:#5467F6}
.fnChips button.on{opacity:1;border-color:transparent;background:linear-gradient(90deg,#5467F6,#5500F2);color:#fff}
.fnNav{display:flex;gap:10px;align-items:center;margin-top:28px}
.fnGhost,.fnGo{font-family:var(--mno,monospace);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  padding:13px 22px;cursor:pointer;border:1px solid var(--fnCardLine,rgba(255,255,255,.2));background:none;color:inherit}
.fnGhost[disabled]{opacity:.3;cursor:default}
.fnGo{border-color:transparent;background:linear-gradient(90deg,#5467F6,#5500F2);color:#fff;margin-left:auto;text-decoration:none}
.fnGo:hover{filter:brightness(1.15)}
.fnDone p{opacity:.65;margin-bottom:18px;max-width:52ch}
#fnOut{font-family:var(--mno,monospace);font-size:11.5px;line-height:1.7;white-space:pre-wrap;
  max-height:32vh;overflow:auto;padding:16px;border:1px solid var(--fnCardLine,rgba(255,255,255,.14));opacity:.75}