.fcard{
  --fg:#15121E; --fg2:#15121E; --fg3:#15121E; --line:rgba(21,18,30,.32); --line2:rgba(21,18,30,.56);
  --btn-bg:#15121E; --btn-fg:#F6F3EC; --btn-bg-i:#F6F3EC; --btn-fg-i:#15121E;
  --state-bad:#7d143b; --state-ok:#124A26;
  border-radius:3px;background:#F6F3EC;color:var(--fg);font-family:Suisse,system-ui,-apple-system,sans-serif;
  font-size:var(--fs-body);line-height:1.5;
}
.fcard *{box-sizing:border-box}

.fcard .f{margin:0 0 24px}
.fcard .flbl{display:block;font-family:SuisseMono,ui-monospace,monospace;font-size:var(--fs-label);
  letter-spacing:.09em;text-transform:uppercase;color:var(--fg3);margin:0 0 8px}
.fcard .f :is(input,select){display:block;width:100%;min-height:44px;font-family:Suisse,system-ui,sans-serif;
  font-size:var(--fs-body);line-height:1.4;color:var(--fg);background:transparent;border:0;
  border-bottom:1px solid var(--line2);border-radius:0;padding:10px 0;margin:0;-webkit-appearance:none;appearance:none}
.fcard .f select{cursor:pointer;padding-right:26px}
.fcard .f input::placeholder{color:var(--fg3);opacity:.6}
.fcard .f :is(input,select):not(:disabled):hover{border-bottom-color:var(--fg)}
.fcard .f :is(input,select):focus-visible{outline:2px solid var(--fg);outline-offset:0;border-bottom-color:var(--fg)}
.fcard .f :is(input,select)[aria-invalid="true"]{border-bottom-color:var(--state-bad);border-bottom-width:2px}
.fcard .f :is(input,select)[aria-invalid="true"]:focus-visible{border-bottom-color:var(--state-bad)}
.fcard .f :is(input,select):disabled{cursor:progress;opacity:.6}
.fcard :is(.fhelp,.fnote){font-size:14px;line-height:1.45;color:var(--fg);opacity:1;margin:8px 0 0;max-width:none}
.fcard :is(.fhelp,.fnote) a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.fcard .ferr{font-family:SuisseMono,ui-monospace,monospace;font-size:var(--fs-label);letter-spacing:.06em;
  color:var(--fg);margin:8px 0 0;max-width:none}
.fcard .ferr{display:grid;grid-template-columns:7px minmax(0,1fr);column-gap:9px;align-items:start}
.fcard .ferr::before{content:"";display:block;width:7px;height:7px;background:var(--state-bad);margin:.45em 0 0}
.fcard .ferr[hidden]{display:none}

.fcard .fc{display:grid;grid-template-columns:22px minmax(0,1fr);gap:0 14px;align-items:start;margin:0 0 24px}
.fcard .fc input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--fg);cursor:pointer}
.fcard .fc input:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
.fcard .fc input[aria-invalid="true"]{outline:2px solid var(--state-bad);outline-offset:2px}
.fcard .fc input[aria-invalid="true"]:focus-visible{outline:2px solid var(--fg);outline-offset:3px;
  box-shadow:0 0 0 2px var(--state-bad)}
.fcard .fc input:disabled{cursor:progress}
.fcard .fc label{font-size:15px;line-height:1.55;color:var(--fg);cursor:pointer;max-width:none;
  padding:11px 0 11px 36px;margin:-11px 0 -11px -36px}
.fcard .fc label a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.fcard .fc .ferr{grid-column:2}
.fcard .fc label+*{margin-top:11px}
.fcard a:not(.btn):not(.tlink):not(.alink):hover{opacity:1;text-decoration-thickness:2px}

.fcard .fsel{position:relative}
.fcard .fsel::after{content:"";position:absolute;right:4px;top:42px;width:7px;height:7px;
  border-right:1px solid var(--fg3);border-bottom:1px solid var(--fg3);transform:rotate(45deg);pointer-events:none}
@keyframes fcard-chevron-shake{
  0%      {translate:0;                                animation-timing-function:var(--shake-ease)}
  28.57%  {translate:var(--shake-distance);            animation-timing-function:var(--shake-ease)}
  57.14%  {translate:calc(var(--shake-distance) * -1); animation-timing-function:var(--shake-ease)}
  78.57%  {translate:var(--shake-overshoot);           animation-timing-function:var(--shake-ease)}
  100%    {translate:0}
}
.fcard .fsel:has(select:disabled)::after{opacity:.6}
.fcard .fsel.is-shaking::after{animation:fcard-chevron-shake calc(var(--shake-dur-a) * 2 + var(--shake-dur-b) * 2) linear}
@media (prefers-reduced-motion:reduce){.fcard .fsel::after{animation:none !important;translate:none !important}}

.fcard .fstate{max-width:none;margin:4px 0 0;font-size:15px;line-height:1.5;font-weight:500;color:var(--fg)}
.fcard .fstate:not([data-kind="online"])::before{content:"";display:inline-block;width:7px;height:7px;
  background:var(--state-bad);margin:0 10px 1px 0;vertical-align:middle}
.fcard .fstate:empty{margin:0}
.fcard .fstate:empty::before{content:none}
.fcard .fstate[data-kind="invalid"]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.fcard .fstate:focus-visible{outline:2px solid var(--fg);outline-offset:6px}
.fcard .fstate a{color:var(--fg);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

.fcard .fsubmit{margin:var(--unit) 0 0}
.fcard .fsubmit .btn{font-family:inherit;cursor:pointer}
.fcard .fsubmit .btn[disabled],.fcard .fsubmit .btn[disabled]:hover{cursor:progress;opacity:1;
  background:var(--btn-bg);color:var(--btn-fg);transform:none}
.fcard .fsubmit .btn[disabled]::before{content:"";display:inline-block;width:.8em;height:.8em;margin:0 .6em -.08em 0;
  border:2px solid currentColor;border-right-color:transparent;border-radius:50%;box-sizing:border-box;
  animation:fcard-spin .8s linear infinite}
@keyframes fcard-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.fcard .fsubmit .btn[disabled]::before{animation:none}}

.fcard .fdone{font-size:var(--fs-sub);line-height:1.3;letter-spacing:-.016em;font-weight:500;color:var(--fg);
  margin:0;max-width:none;border:0;padding:0}
.fcard .fdone[hidden]{display:none}
.fcard .fdone:focus-visible{outline:2px solid var(--fg);outline-offset:6px}
.fcard .fdone.ffail{font-size:15px;line-height:1.5;letter-spacing:0;margin:22px 0 0}
.fcard .fdone.ffail::before{content:"";display:inline-block;width:7px;height:7px;background:var(--state-bad);
  margin:0 10px 1px 0;vertical-align:middle}
.fcard .fform[hidden]{display:none}
.fcard .fdone:not(.ffail){display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:16px;align-items:start}
.fcard .fdone:not(.ffail)[hidden]{display:none}
.fcard .fdone .t-success-check{width:32px;height:32px;margin:.02em 0 0;display:block}
.fcard .fdone .t-success-check svg{width:32px;height:32px}

@media (max-width:760px){
  .fcard .fsubmit .btn{display:block;width:100%;text-align:center}
}
