.pf2 {
  position: relative;
  background: var(--bg-color);
  min-height: 100vh;
  padding: clamp(1.25rem, 4vw, 3rem);
  padding-top: calc(3.75rem + max(.875rem, env(safe-area-inset-top, .875rem)));
  display: flex;
  flex-direction: column;
}
@media (max-width:900px) {
  .pf2 {
    padding-top: calc(3.5rem + max(.75rem, env(safe-area-inset-top, .75rem)));
  }
}
.pf2.pf2-loading .pf2-pager,
.pf2.pf2-loading .pf2-rail-inner {
  opacity: 0;
}
.pf2-pager,
.pf2-rail-inner {
  transition: opacity .8s cubic-bezier(.16, 1, .3, 1);
}
[data-reveal] {
  opacity: 0;
  transition: opacity .6s ease;
}
[data-reveal].pf2-revealed {
  opacity: 1;
}
.pf2-reset {
  position: absolute;
  top: clamp(1.5rem, 4vh, 2.5rem);
  right: clamp(1.5rem, 4vw, 3rem);
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-family: var(--font-mono);
  font-size: .48rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-subtle);
  background: transparent;
  border: none;
  padding: .5rem .6rem;
  cursor: pointer;
  transition: color .2s ease;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.pf2-reset:hover {
  color: var(--text-color);
}
.pf2-reset:focus-visible {
  color: var(--text-color);
  outline: 1px dashed var(--border-color);
  outline-offset: 4px;
}
.pf2-reset-icon {
  display: inline-block;
  font-size: .7rem;
  line-height: 1;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1);
}
.pf2-reset:hover .pf2-reset-icon {
  transform: rotate(-180deg);
}
.pf2-rail {
  position: sticky;
  top: var(--nav-h, 3.5rem);
  z-index: 5;
  margin: 0 auto;
  max-width: 280px;
  padding: .5rem 0 .75rem;
}
.pf2-rail:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translate(-50%);
  width: 100vw;
  z-index: -1;
  background: color-mix(in srgb, var(--bg-color) 48%, transparent);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
}
@media (max-width:900px) {
  .pf2-rail {
    max-width: 100%;
  }
}
.pf2-rail-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  transition: gap .35s cubic-bezier(.16, 1, .3, 1);
}
@media (max-width:380px) {
  .pf2-reset {
    font-size: .45rem;
    letter-spacing: .12em;
    padding: .4rem .5rem;
  }
}
.pf2-dial {
  position: relative;
  width: 200px;
  height: 200px;
  transition: width .4s cubic-bezier(.16, 1, .3, 1), height .4s cubic-bezier(.16, 1, .3, 1);
}
@media (max-width:900px) {
  .pf2-dial {
    width: 180px;
    height: 180px;
  }
}
@media (max-width:380px) {
  .pf2-dial {
    width: 160px;
    height: 160px;
  }
}
.pf2-orb {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90px;
  height: 90px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--bg-color);
}
@media (max-width:900px) {
  .pf2-orb {
    width: 82px;
    height: 82px;
  }
}
@media (max-width:380px) {
  .pf2-orb {
    width: 70px;
    height: 70px;
  }
}
.pf2-orb-canvas {
  display: block;
  width: 100%;
  height: 100%;
}
.pf2-orb-ring {
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  border: 1px solid var(--border-color);
  pointer-events: none;
  transition: inset .6s cubic-bezier(.16, 1, .3, 1), border-color .6s ease;
}
.pf2-orb-ring-2 {
  inset: -6px;
  border-color: var(--border-subtle);
}
.pf2-orb-ring.pf2-ring-pulse {
  inset: -5px;
  border-color: var(--text-color);
  border-width: 1.5px;
}
.pf2-orb-ring-2.pf2-ring-pulse {
  inset: -10px;
  transition-delay: 80ms;
}
.pf2-orb:after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: .5px solid var(--text-color);
  opacity: 0;
  transform: scale(1);
  pointer-events: none;
}
.pf2-orb.pf2-orb-glow:after {
  animation: pf2-orb-glow .75s ease-out forwards;
}
@keyframes pf2-orb-glow {
  0% {
    opacity: .2;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(1.8);
  }
}
.pf2-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.pf2-track {
  fill: none;
  stroke: var(--border-subtle);
  stroke-width: .3;
  opacity: .6;
}
.pf2-arc {
  stroke: var(--text-color);
  stroke-width: .5;
  stroke-linecap: round;
  opacity: 0;
  transition: opacity .6s ease;
}
.pf2-arc.pf2-arc-drawn {
  opacity: .7;
}
.pf2-arc.pf2-arc-skip {
  stroke-dasharray: 2 2;
  opacity: .2;
}
.pf2-arc.pf2-arc-return {
  stroke-dasharray: 3 2.5;
  opacity: .15;
}
.pf2-node {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 7px;
  height: 7px;
  padding: 0;
  margin: 0;
  background: var(--bg-color);
  border: .75px solid var(--border-color);
  border-radius: 50%;
  cursor: default;
  outline: none;
  z-index: 3;
  transition:
    border-color .5s cubic-bezier(.16, 1, .3, 1),
    background .5s cubic-bezier(.16, 1, .3, 1),
    transform .5s cubic-bezier(.16, 1, .3, 1),
    box-shadow .5s cubic-bezier(.16, 1, .3, 1);
}
.pf2-node.pf2-node-active {
  border-color: var(--text-color);
  background: var(--text-color);
}
.pf2-node.pf2-node-verify {
  border-color: var(--text-muted);
  background: var(--bg-color);
  box-shadow: inset 0 0 0 1.5px var(--text-muted);
}
.pf2-node.pf2-node-skip {
  border-style: dashed;
  border-color: var(--border-subtle);
  background: transparent;
  opacity: .5;
}
.pf2-node.pf2-node-current {
  transform: translate(-50%, -50%) scale(1.35);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--text-color) 14%, transparent);
}
.pf2-node.pf2-node-absorbed {
  transform: translate(-50%, -50%) scale(.4);
  background: var(--bg-color) !important;
  border-color: var(--text-color) !important;
  border-style: solid !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
.pf2-node.pf2-node-pulling {
  transform: translate(-50%, -50%) scale(1.25);
  transition: transform .2s cubic-bezier(.34, 1.56, .64, 1) !important;
}
.pf2-node:after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  border: .5px solid var(--text-color);
  opacity: 0;
  transform: scale(1);
  pointer-events: none;
}
.pf2-node.pf2-node-echo:after {
  animation: pf2-node-echo .4s ease-out forwards;
}
@keyframes pf2-node-echo {
  0% {
    opacity: .4;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(3.5);
  }
}
.pf2-lbl {
  position: absolute;
  transform: translate(-50%, -50%);
  font-family: var(--font-mono);
  font-size: .45rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-subtle);
  white-space: nowrap;
  pointer-events: none;
  transition: color .4s ease, opacity .4s ease;
}
.pf2-lbl.pf2-lbl-active {
  color: var(--text-color);
}
.pf2-lbl.pf2-lbl-skip {
  opacity: .4;
}
@media (max-width:900px) {
  .pf2-lbl {
    font-size: .5rem;
  }
}
@media (max-width:380px) {
  .pf2-lbl {
    font-size: .42rem;
    letter-spacing: .1em;
  }
}
.pf2-fusion {
  position: absolute;
  transform: translate(-50%, -50%);
  font-family: var(--font-mono);
  font-style: italic;
  font-size: .36rem;
  letter-spacing: .06em;
  color: var(--text-subtle);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity .6s ease;
}
.pf2-fusion.pf2-fusion-visible {
  opacity: .85;
}
@media (max-width:380px) {
  .pf2-fusion {
    display: none;
  }
}
.pf2-indicator {
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
  z-index: 4;
}
.pf2-tri {
  position: absolute;
  left: -5px;
  top: -5px;
  width: 10px;
  height: 10px;
  opacity: .9;
  filter: drop-shadow(0 0 4px color-mix(in srgb, var(--text-color) 25%, transparent));
}
.pf2-tri polygon {
  fill: var(--text-color);
}
.pf2-moon {
  position: absolute;
  width: 2.5px;
  height: 2.5px;
  border-radius: 50%;
  background: var(--text-color);
  opacity: 0;
  transition: opacity .6s ease;
}
.pf2-moon.pf2-moon-visible {
  opacity: .55;
}
.pf2-moon.pf2-moon-skip {
  border-radius: .5px;
  background: var(--text-muted);
  transform: rotate(45deg);
}
.pf2-counter {
  font-family: var(--font-mono);
  font-size: .55rem;
  letter-spacing: .14em;
  color: var(--text-subtle);
  margin-top: .25rem;
  transition:
    opacity .25s ease,
    max-height .35s cubic-bezier(.16, 1, .3, 1),
    margin .35s ease;
  max-height: 1.25rem;
  overflow: hidden;
}
.pf2-counter-current {
  color: var(--text-color);
  transition: opacity .2s ease;
}
.pf2-counter-sep {
  margin: 0 .25em;
  opacity: .4;
}
.pf2-aside {
  min-height: 1.5rem;
  max-width: 220px;
  text-align: center;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: .7rem;
  line-height: 1.5;
  color: var(--text-subtle);
  opacity: 0;
  transition: opacity .6s ease;
}
.pf2-aside.pf2-aside-visible {
  opacity: 1;
}
@media (max-width:900px) {
  .pf2-aside {
    display: none;
  }
}
.pf2-pager {
  position: relative;
  max-width: 60ch;
  width: 100%;
  margin: 0 auto;
  flex: 1;
  min-height: 0;
}
.pf2-page {
  position: absolute;
  inset: 0 0 auto;
  opacity: 0;
  transform: translateY(14px);
  pointer-events: none;
  transition: opacity .5s cubic-bezier(.22, 1, .36, 1), transform .5s cubic-bezier(.22, 1, .36, 1);
}
.pf2-page.pf2-page-active {
  position: relative;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.pf2-page.pf2-page-exiting {
  opacity: 0;
  transform: translateY(-10px);
}
.pf2-page-inner {
  font-family: var(--font-serif);
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 2vh, 1.75rem);
}
.pf2-page-inner .pf2-body {
  display: flex;
  flex-direction: column;
  gap: clamp(.75rem, 1.6vh, 1.2rem);
}
.pf2-page-inner p {
  font-family: var(--font-serif);
  font-size: clamp(.98rem, .95vw + .82rem, 1.1rem);
  line-height: 1.7;
  color: var(--text-color);
  margin: 0;
}
.pf2-page-inner em {
  font-style: italic;
}
.pf2-opener-text {
  font-family: var(--font-serif) !important;
  font-size: clamp(.98rem, .95vw + .82rem, 1.1rem) !important;
  line-height: 1.7 !important;
  color: var(--text-color) !important;
  margin: 0 !important;
  padding-bottom: clamp(1.25rem, 3vh, 2rem);
  border-bottom: none;
  position: relative;
}
.pf2-opener-text:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--border-subtle);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}
.pf2-opener-text.pf2-line-drawn:after {
  transform: scaleX(1);
}
.pf2-opener-text:empty {
  display: none;
}
.pf2-opener-bridge {
  font-family: var(--font-serif) !important;
  font-size: clamp(.98rem, .95vw + .82rem, 1.1rem) !important;
  line-height: 1.7 !important;
  color: var(--text-color) !important;
  margin: 0 !important;
  padding-top: .8rem;
  padding-bottom: 0;
}
.pf2-opener-bridge:empty {
  display: none;
}
.pf2-closing-observation {
  font-family: var(--font-serif) !important;
  font-size: clamp(.98rem, .95vw + .82rem, 1.1rem) !important;
  line-height: 1.7 !important;
  color: var(--text-color) !important;
  margin: 0 !important;
  padding: .6rem 0;
}
.pf2-eyebrow-h2 {
  font-family: var(--font-mono);
  font-size: .55rem;
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text-subtle);
  margin: 0;
  padding-bottom: .7rem;
  border-bottom: none;
  position: relative;
}
.pf2-eyebrow-h2:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--border-subtle);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}
.pf2-eyebrow-h2.pf2-line-drawn:after {
  transform: scaleX(1);
}
.pf2-qlead:empty {
  display: none;
}
.pf2-qlead[hidden] {
  display: none;
}
.pf2-combo {
  font-family: var(--font-serif) !important;
  font-style: normal;
  font-size: clamp(.98rem, .95vw + .82rem, 1.1rem) !important;
  letter-spacing: normal;
  line-height: 1.7 !important;
  color: var(--text-color) !important;
  margin: 0 !important;
  padding-left: 0;
  border-left: none;
}
.pf2-combo:empty {
  display: none;
}
.pf2-combo[hidden] {
  display: none;
}
.pf2-bridge {
  white-space: pre-line;
}
.pf2-bridge:empty {
  display: none;
}
.pf2-pause {
  white-space: pre-line;
}
.pf2-pause:empty {
  display: none;
}
.pf2-verdict {
  white-space: pre-line;
}
.pf2-promise-callback {
  font-family: var(--font-serif) !important;
  font-size: clamp(.98rem, .95vw + .82rem, 1.1rem) !important;
  line-height: 1.7 !important;
  color: var(--text-color) !important;
  margin: 0 !important;
  padding-bottom: 1.25rem;
  border-bottom: none;
  position: relative;
}
.pf2-promise-callback:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--border-subtle);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}
.pf2-promise-callback.pf2-line-drawn:after {
  transform: scaleX(1);
}
.pf2-promise-callback:empty,
.pf2-promise-callback[hidden] {
  display: none;
}
.pf2-choices {
  list-style: none;
  margin: clamp(.5rem, 1.5vh, 1rem) 0 0;
  padding: 0;
  border-top: none;
  position: relative;
}
.pf2-choices:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--border-subtle);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}
.pf2-choices.pf2-line-drawn:before {
  transform: scaleX(1);
}
.pf2-choices li {
  margin: 0;
}
.pf2-choice {
  display: block;
  width: 100%;
  text-align: left;
  padding: .9rem 0 .9rem 1.5rem;
  border: none;
  background: transparent;
  font-family: var(--font-serif);
  font-size: clamp(.92rem, .7vw + .78rem, 1rem);
  line-height: 1.5;
  color: var(--text-muted);
  cursor: pointer;
  transition: color .2s ease;
  position: relative;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.pf2-choice:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--border-subtle);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}
.pf2-choice.pf2-line-drawn:after {
  transform: scaleX(1);
}
@media (max-width:900px) {
  .pf2-choice {
    padding: 1rem 0 1rem 1.5rem;
    font-size: .97rem;
  }
}
.pf2-choice:before {
  content: "\2192";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-subtle);
  opacity: .4;
  transition: opacity .15s ease-out, transform .15s ease-out;
}
.pf2-choice:hover {
  color: var(--text-color);
}
.pf2-choice:hover:before {
  opacity: 1;
  transform: translate(4px, -50%);
  color: var(--text-color);
}
.pf2-choice:focus-visible {
  outline: 1px solid var(--text-color);
  outline-offset: -1px;
}
.pf2-choice.pf2-choice-selected {
  color: var(--text-color);
}
.pf2-choice.pf2-choice-selected:before {
  opacity: 1;
  transform: translate(4px, -50%);
  color: var(--text-color);
}
.pf2-choices.pf2-choices-locked .pf2-choice:not(.pf2-choice-selected) {
  opacity: .35;
  cursor: pointer;
}
.pf2-choices.pf2-choices-locked .pf2-choice:not(.pf2-choice-selected):hover {
  opacity: .65;
}
.pf2-actions {
  margin-top: clamp(.5rem, 1.5vh, 1rem);
  text-align: right;
}
.pf2-action {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text-color);
  background: transparent;
  border: none;
  padding: .6rem 0;
  cursor: pointer;
  position: relative;
  outline: none;
  opacity: 0;
  transition: opacity .7s ease, transform .2s ease;
  -webkit-tap-highlight-color: transparent;
}
.pf2-action.pf2-action-visible {
  opacity: 1;
}
.pf2-action:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: .3rem;
  width: 0;
  height: 1px;
  background: var(--text-color);
  transition: width .8s cubic-bezier(.22, 1, .36, 1);
}
.pf2-action.pf2-action-revealed:after {
  width: 100%;
}
.pf2-action:hover:after {
  background-color: var(--text-color);
}
.pf2-action:focus-visible {
  outline: 1px dashed var(--text-color);
  outline-offset: 6px;
}
.pf2-path-title {
  font-family: var(--font-serif);
  font-size: clamp(1.15rem, 1.2vw + 1rem, 1.35rem);
  font-weight: 400;
  letter-spacing: -.01em;
  color: var(--text-color);
  margin: 0;
  padding-bottom: .6rem;
  border-bottom: none;
  position: relative;
}
.pf2-path-title:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--border-subtle);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}
.pf2-path-title.pf2-line-drawn:after {
  transform: scaleX(1);
}
@media (max-width:600px) {
  .pf2-path-title {
    min-height: 2.8em;
  }
}
.pf2-flow {
  position: relative;
  margin: 1.5rem 0 0;
}
@media (min-width:901px) {
  .pf2-flow {
    display: grid;
    grid-template-columns: 1fr 40px 1fr 40px 1fr;
    row-gap: 0;
  }
}
@media (max-width:900px) {
  .pf2-flow {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
.pf2-flow-box {
  position: relative;
  padding: .9rem 1rem;
  min-height: 48px;
}
.pf2-flow-border-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}
.pf2-flow-rect {
  fill: none;
  stroke: var(--border-color);
  stroke-width: 1;
  transition: stroke-dashoffset .6s cubic-bezier(.22, 1, .36, 1);
}
.pf2-flow-rect.pf2-flow-dashed {
  stroke-dasharray: 6 4 !important;
  transition: stroke-dasharray .3s ease;
}
.pf2-flow-box[data-status=skip] .pf2-flow-rect,
.pf2-flow-box[data-status=deferred] .pf2-flow-rect {
  stroke: var(--border-subtle);
}
.pf2-flow-box[data-enabled=false] .pf2-flow-title,
.pf2-flow-box[data-enabled=false] .pf2-flow-echo,
.pf2-flow-box[data-enabled=false] .pf2-flow-desc,
.pf2-flow-box[data-enabled=false] .pf2-flow-price,
.pf2-flow-box[data-enabled=false] .pf2-flow-credit {
  opacity: .4;
  transition: opacity .2s ease;
}
.pf2-flow-inner {
  position: relative;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .5s cubic-bezier(.22, 1, .36, 1), transform .5s cubic-bezier(.22, 1, .36, 1);
}
.pf2-flow-inner.pf2-flow-revealed {
  opacity: 1;
  transform: translateY(0);
}
.pf2-flow-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .4rem;
  margin-bottom: .25rem;
}
.pf2-flow-num {
  font-family: var(--font-mono);
  font-size: .55rem;
  letter-spacing: .1em;
  color: var(--text-subtle);
}
.pf2-flow-tag {
  font-family: var(--font-mono);
  font-size: .48rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-subtle);
  text-align: right;
  max-width: 64%;
}
.pf2-flow-tag[data-tier=nonneg] {
  color: var(--text-color);
  font-weight: 600;
}
.pf2-flow-tag[data-tier=highrec] {
  color: var(--text-color);
}
.pf2-flow-tag[data-tier=verify],
.pf2-flow-tag[data-tier=optional] {
  color: var(--text-muted);
}
.pf2-flow-tag[data-tier=skip] {
  color: var(--text-subtle);
}
.pf2-flow-box[data-tier=nonneg] .pf2-flow-inner {
  border-left: 2px solid var(--text-color);
  padding-left: .6rem;
}
.pf2-flow-title {
  font-family: var(--font-serif);
  font-size: clamp(.8rem, .5vw + .72rem, .88rem);
  color: var(--text-color);
  margin: 0 0 .25rem;
  line-height: 1.35;
  font-weight: 400;
}
.pf2-flow-echo {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(.76rem, .45vw + .68rem, .82rem);
  line-height: 1.45;
  color: var(--text-muted);
  margin: 0 0 .15rem;
}
.pf2-flow-desc {
  font-family: var(--font-serif);
  font-size: clamp(.72rem, .4vw + .65rem, .78rem);
  line-height: 1.5;
  color: var(--text-muted);
  margin: 0;
}
.pf2-flow-price {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .04em;
  color: var(--text-color);
  margin-top: .3rem;
}
.pf2-flow-credit {
  font-family: var(--font-mono);
  font-size: .48rem;
  letter-spacing: .04em;
  color: var(--text-subtle);
  margin-top: .1rem;
}
.pf2-flow-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: .55rem;
}
.pf2-flow-lock {
  font-family: var(--font-mono);
  font-size: .46rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-subtle);
}
.pf2-flow-toggle {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: none;
  border: 0;
  padding: .35rem .1rem;
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: .46rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.pf2-flow-toggle-track {
  position: relative;
  width: 26px;
  height: 14px;
  flex: none;
  border: 1px solid var(--border-color);
  border-radius: 7px;
  background: transparent;
  transition: background .2s ease, border-color .2s ease;
}
.pf2-flow-toggle-thumb {
  position: absolute;
  top: 1px;
  left: 1px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--border-color);
  transition: transform .22s cubic-bezier(.22, 1, .36, 1), background .2s ease;
}
.pf2-flow-toggle[aria-checked=true] .pf2-flow-toggle-track {
  background: var(--text-color);
  border-color: var(--text-color);
}
.pf2-flow-toggle[aria-checked=true] .pf2-flow-toggle-thumb {
  transform: translate(12px);
  background: var(--bg-color);
}
.pf2-flow-toggle:focus-visible,
.pf2-flow-mode-btn:focus-visible {
  outline: 2px solid var(--text-color);
  outline-offset: 2px;
}
.pf2-flow-modes {
  display: inline-flex;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  overflow: hidden;
}
.pf2-flow-mode-btn {
  background: none;
  border: 0;
  padding: .3rem .5rem;
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: .44rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
  transition: background .16s ease, color .16s ease;
}
.pf2-flow-mode-btn + .pf2-flow-mode-btn {
  border-left: 1px solid var(--border-color);
}
.pf2-flow-mode-btn[aria-checked=true] {
  background: var(--text-color);
  color: var(--bg-color);
}
.pf2-flow-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pf2-flow-arrow-line {
  stroke: var(--border-color);
  stroke-width: 1;
}
.pf2-flow-arrow-head {
  fill: var(--border-color);
}
.pf2-flow-arrow[data-arrow-dashed] .pf2-flow-arrow-line {
  stroke-dasharray: 4 3 !important;
}
.pf2-flow-arrow[data-arrow-muted] .pf2-flow-arrow-line {
  stroke: var(--border-subtle);
}
.pf2-flow-arrow[data-arrow-muted] .pf2-flow-arrow-head {
  fill: var(--border-subtle);
  opacity: .5;
}
@media (min-width:901px) {
  .pf2-flow-box[data-flow-idx="0"] {
    grid-column: 1;
    grid-row: 1;
  }
  .pf2-flow-arrow[data-arrow-idx="0"] {
    grid-column: 2;
    grid-row: 1;
  }
  .pf2-flow-box[data-flow-idx="1"] {
    grid-column: 3;
    grid-row: 1;
  }
  .pf2-flow-arrow[data-arrow-idx="1"] {
    grid-column: 4;
    grid-row: 1;
  }
  .pf2-flow-box[data-flow-idx="2"] {
    grid-column: 5;
    grid-row: 1;
  }
  .pf2-flow-arrow[data-arrow-idx="2"] {
    grid-column: 1 / -1;
    grid-row: 2;
    height: 48px;
    overflow: visible;
  }
  .pf2-flow-box[data-flow-idx="3"] {
    grid-column: 1 / 3;
    grid-row: 3;
  }
  .pf2-flow-arrow[data-arrow-idx="3"] {
    grid-column: 3;
    grid-row: 3;
  }
  .pf2-flow-box[data-flow-idx="4"] {
    grid-column: 4 / 6;
    grid-row: 3;
  }
  .pf2-flow-arrow[data-arrow-idx="2"] .pf2-flow-arrow-svg {
    display: none;
  }
  .pf2-flow-arrow[data-arrow-idx="2"] .pf2-flow-turn-svg {
    display: block;
  }
}
@media (max-width:900px) {
  .pf2-flow-arrow {
    height: 32px;
    width: 100%;
  }
  .pf2-flow-arrow-svg {
    transform: rotate(90deg);
  }
  .pf2-flow-turn-svg {
    display: none;
  }
}
.pf2-flow-turn-svg {
  overflow: visible;
}
.pf2-flow-turn-line {
  fill: none;
  stroke: var(--border-color);
  stroke-width: 1;
}
.pf2-flow-turn-head {
  fill: var(--border-color);
}
.pf2-flow-arrow[data-arrow-dashed] .pf2-flow-turn-line {
  stroke-dasharray: 4 3 !important;
}
.pf2-flow-arrow[data-arrow-muted] .pf2-flow-turn-line {
  stroke: var(--border-subtle);
}
.pf2-flow-arrow[data-arrow-muted] .pf2-flow-turn-head {
  fill: var(--border-subtle);
  opacity: .5;
}
.pf2-cost {
  margin-top: 1.15rem;
  padding-top: .85rem;
  border-top: 1px solid var(--border-color);
}
.pf2-cost-main {
  font-family: var(--font-mono);
  font-size: .85rem;
  letter-spacing: .03em;
  color: var(--text-color);
  word-break: break-word;
}
@media (max-width:480px) {
  .pf2-cost-main {
    font-size: .78rem;
  }
}
.pf2-cost-monthly {
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .03em;
  color: var(--text-muted);
  margin-top: .2rem;
}
.pf2-cost-credit {
  font-family: var(--font-mono);
  font-size: .55rem;
  letter-spacing: .04em;
  color: var(--text-subtle);
  margin-top: .2rem;
}
.pf2-cost-flash {
  animation: pf2-cost-flash .24s ease;
}
@keyframes pf2-cost-flash {
  0% {
    opacity: .25;
  }
  to {
    opacity: 1;
  }
}
.pf2-cta-wrap {
  margin-top: clamp(.75rem, 2vh, 1.5rem);
}
.pf2-cta {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: .75rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text-color);
  text-decoration: none;
  padding: .5rem 0;
  position: relative;
}
.pf2-cta:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: .25rem;
  width: 0;
  height: 1px;
  background: var(--text-color);
  transition: width .8s cubic-bezier(.22, 1, .36, 1), background-color .2s ease;
}
.pf2-cta.pf2-cta-revealed:after {
  width: 100%;
}
.pf2-cta:hover:after {
  background-color: var(--text-color);
}
.pf2-email-wrap {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.pf2-email-link {
  font-family: var(--font-mono);
  font-size: clamp(.85rem, .7vw + .7rem, .95rem);
  color: var(--text-color);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .25em;
  text-decoration-color: var(--border-color);
  transition: text-decoration-color .2s ease;
}
.pf2-email-link:hover {
  text-decoration-color: var(--text-color);
}
.pf2-inline-link {
  color: var(--text-color);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .25em;
  text-decoration-color: var(--border-color);
  transition: text-decoration-color .2s ease;
}
.pf2-inline-link:hover {
  text-decoration-color: var(--text-color);
}
.pf2-copy,
.pf2-restart {
  display: inline-flex;
  align-items: center;
  padding: .25rem .55rem;
  font-family: var(--font-mono);
  font-size: .55rem;
  letter-spacing: .08em;
  color: var(--text-subtle);
  background: transparent;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease;
}
.pf2-copy:hover,
.pf2-restart:hover {
  color: var(--text-color);
  border-color: var(--text-muted);
}
.pf2-copy.pf2-copy-done {
  color: #22c55e;
  border-color: #22c55e4d;
}
.pf2-chip {
  position: fixed;
  bottom: clamp(.75rem, 3vw, 1.5rem);
  right: clamp(.75rem, 3vw, 1.5rem);
  z-index: 6;
  display: none;
  flex-direction: column;
  align-items: flex-end;
  gap: .4rem;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .5s cubic-bezier(.16, 1, .3, 1), transform .5s cubic-bezier(.16, 1, .3, 1);
  pointer-events: none;
}
.pf2-chip {
  display: none !important;
}
.pf2-chip.pf2-chip-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.pf2-chip-bar {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .55rem .8rem;
  background: color-mix(in srgb, var(--bg-color) 88%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--border-subtle);
  border-radius: 999px;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--text-color) 8%, transparent);
}
.pf2-chip-counter {
  font-family: var(--font-mono);
  font-size: .55rem;
  letter-spacing: .12em;
  color: var(--text-color);
}
.pf2-chip-sep {
  margin: 0 .25em;
  opacity: .4;
}
.pf2-chip-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 1px solid var(--border-color);
  border-radius: 999px;
  background: transparent;
  color: var(--text-muted);
  font-size: .85rem;
  line-height: 1;
  cursor: pointer;
  transition:
    color .2s ease,
    border-color .2s ease,
    transform .4s cubic-bezier(.16, 1, .3, 1);
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.pf2-chip-reset:active {
  transform: rotate(-180deg);
  color: var(--text-color);
  border-color: var(--text-muted);
}
.pf2-chip-aside {
  max-width: min(280px, 80vw);
  padding: .55rem .9rem;
  background: color-mix(in srgb, var(--bg-color) 88%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: .78rem;
  line-height: 1.5;
  color: var(--text-muted);
  text-align: right;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .5s ease, transform .5s cubic-bezier(.16, 1, .3, 1);
  pointer-events: none;
}
.pf2-chip-aside.pf2-chip-aside-visible {
  opacity: 1;
  transform: translateY(0);
}
.pf2-word {
  display: inline-block;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity .38s ease-out, transform .38s ease-out;
  will-change: opacity, transform;
}
.pf2-dot {
  display: inline;
  opacity: 0;
  transition: opacity .3s ease-out;
  will-change: opacity;
}
@media (prefers-reduced-motion:reduce) {
  .pf2-page,
  .pf2-action,
  .pf2-arc,
  .pf2-indicator,
  .pf2-moon,
  .pf2-fusion,
  .pf2-aside,
  .pf2-chip {
    transition: none !important;
    animation: none !important;
  }
  .pf2-word {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .pf2-flow-inner,
  .pf2-flow-rect,
  .pf2-flow-arrow-line,
  .pf2-flow-turn-line {
    transition: none !important;
  }
  .pf2-flow-inner {
    opacity: 1 !important;
    transform: none !important;
  }
}
