/* Button rules extracted from Infisical, preserving media queries and cascade. */
:root {
  --v2-color-bg: #ffffff;
  --v2-border-width: 1px;
  --v2-color-volt: #f7fe62;
  --v2-color-void: #000000;
  --v2-color-text: #000000;
  --v2-color-text-subtle: #555555;
  --v2-color-focus: #000000;
  --v2-color-focus-dark: var(--v2-color-volt);
  --v2-color-text-on-dark: #ffffff;
  --v2-color-white: #ffffff;
  --v2-color-neutral-100: #eeeeee;
  --v2-color-neutral-300: #d1d1d1;
  --v2-color-neutral-400: #afafaf;
  --v2-color-neutral-500: #6f6f6f;
  --v2-color-neutral-700: #3b3b3b;
  --v2-color-neutral-900: #171717;
  --v2-color-neutral-1000: #000000;
  --v2-color-dark-border-control: #707174;
  --v2-color-text-on-accent: var(--v2-color-neutral-1000);
  --v2-btn-secondary-bg: var(--v2-color-neutral-100);
  --v2-btn-secondary-bg-hover: var(--v2-color-neutral-300);
  --v2-color-border-control: var(--v2-color-neutral-500);
  --v2-font-sans: "AllianceNo2",sans-serif;
  --v2-text-b2: 1rem;
  --v2-text-b3: 0.875rem;
  --v2-text-b4: 0.75rem;
  --v2-weight-medium: 500;
  --v2-btn-px: 16px;
  --v2-btn-size: var(--v2-text-b3);
  --v2-control-h-sm: 36px;
  --v2-control-h-md: 40px;
  --v2-control-h-lg: 48px;
  --v2-gap-control: 8px;
  --v2-press-scale: 0.97;
  --v2-ease-out: cubic-bezier(0.215,0.61,0.355,1);
  --v2-ease: cubic-bezier(0.25,0.1,0.25,1);
  --v2-dur-press: 120ms;
  --v2-dur-fast: 160ms;
}

[data-v2-theme="dark"] {
  --v2-color-bg: #0e1014;
  --v2-color-text: #ebebeb;
  --v2-color-text-subtle: #adaeb0;
  --v2-color-focus: var(--v2-color-volt);
  --v2-color-focus-dark: var(--v2-color-volt);
  --v2-color-text-on-dark: #ebebeb;
  --v2-color-volt: #c2d72a;
  --v2-btn-secondary-bg: #1e1f22;
  --v2-btn-secondary-bg-hover: #2b2c30;
  --v2-color-border-control: var(--v2-color-dark-border-control);
}

/* Standalone equivalents of the site-wide reset. */
.v2-page .v2-btn { box-sizing: border-box; appearance: none; margin: 0; border-style: solid; }

@media (hover:none) and (pointer:coarse) {
.v2-page .v2-btn {
  min-height:44px;
}
}

.v2-page .v2-btn {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--v2-gap-control);
  min-height:var(--v2-control-h-md);
  padding:0 var(--v2-btn-px);
  border-radius:0;
  font-family:var(--v2-font-sans),"AllianceNo2",system-ui,sans-serif;
  font-size:var(--v2-btn-size);
  font-weight:var(--v2-weight-medium);
  line-height:1;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  -webkit-user-select:none;
  -moz-user-select:none;
  user-select:none;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  overflow:hidden;
  isolation:isolate;
  transition:color var(--v2-dur-fast) var(--v2-ease),background-color var(--v2-dur-fast) var(--v2-ease),border-color var(--v2-dur-fast) var(--v2-ease),transform var(--v2-dur-press) var(--v2-ease-out);
}

.v2-page .v2-btn:active:not(:disabled):not([aria-disabled=true]) {
  transform:scale(var(--v2-press-scale));
}

.v2-page .v2-btn:focus-visible {
  outline:1px solid var(--v2-color-focus);
  outline-offset:3px;
}

.v2-page .v2-btn:disabled,.v2-page .v2-btn[aria-disabled=true] {
  opacity:.4;
  cursor:not-allowed;
  pointer-events:none;
}

@media (prefers-reduced-motion:reduce) {
.v2-page .v2-btn:active:not(:disabled):not([aria-disabled=true]) {
  transform:none;
}
}

@media (prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine) {
.v2-page .v2-btn--primary:hover {
  background:var(--v2-color-neutral-700);
  color:var(--v2-color-white);
}
}

.v2-page .v2-btn--sm {
  min-height:var(--v2-control-h-sm);
  font-size:var(--v2-text-b4);
}

.v2-page .v2-btn--md {
  min-height:var(--v2-control-h-md);
  font-size:var(--v2-btn-size);
}

.v2-page .v2-btn--lg {
  min-height:var(--v2-control-h-lg);
  font-size:var(--v2-text-b2);
}

.v2-page .v2-btn--primary {
  background:var(--v2-color-text);
  color:var(--v2-color-bg);
  border:var(--v2-border-width) solid var(--v2-color-text);
}

.v2-page .v2-btn--secondary {
  background:var(--v2-btn-secondary-bg);
  color:var(--v2-btn-secondary-fg,var(--v2-color-text));
  border:var(--v2-border-width) solid var(--v2-btn-secondary-bg);
}

.v2-page .v2-btn--ghost {
  background:transparent;
  color:var(--v2-color-text);
  border:var(--v2-border-width) solid transparent;
}

.v2-page .v2-btn--secondary.v2-btn--soft-outline {
  background:transparent;
  color:var(--v2-color-text-subtle);
  border-color:var(--v2-color-neutral-400);
}

.v2-page .v2-btn--secondary.v2-btn--fill-white {
  background:var(--v2-color-white);
  color:var(--v2-color-neutral-900);
  border-color:var(--v2-color-border-control);
}

@media (hover:hover) and (pointer:fine) {
.v2-page .v2-btn--primary:hover {
  border-color:var(--v2-color-neutral-700);
}
}

@media (hover:hover) and (pointer:fine) {
.v2-page .v2-btn--secondary:hover {
  background:var(--v2-btn-secondary-bg-hover);
  color:var(--v2-btn-secondary-fg,var(--v2-color-text));
  border-color:var(--v2-btn-secondary-bg-hover);
}
}

@media (hover:hover) and (pointer:fine) {
.v2-page .v2-btn--secondary.v2-btn--soft-outline:hover {
  background:transparent;
  color:var(--v2-color-text);
}
}

@media (hover:hover) and (pointer:fine) {
.v2-page .v2-btn--secondary.v2-btn--fill-white:hover {
  background:var(--v2-color-white);
  color:var(--v2-color-neutral-900);
  border-color:var(--v2-color-neutral-900);
}
}

@media (hover:hover) and (pointer:fine) {
.v2-page .v2-btn--secondary.v2-btn--soft-outline:hover {
  border-color:var(--v2-color-neutral-400);
}
}

@media (hover:hover) and (pointer:fine) {
.v2-page .v2-btn--ghost:hover {
  color:var(--v2-color-text-subtle);
}
}

.v2-page .v2-btn.on-dark.v2-btn--primary {
  background:var(--v2-color-text-on-dark);
  color:var(--v2-color-void);
  border-color:var(--v2-color-text-on-dark);
}

.v2-page .v2-btn.on-dark.v2-btn--secondary {
  background:rgba(255,255,255,.1);
  color:var(--v2-color-text-on-dark);
  border-color:transparent;
}

.v2-page .v2-btn.on-dark.v2-btn--ghost {
  color:var(--v2-color-text-on-dark);
}

.v2-page .v2-btn.on-dark:focus-visible {
  outline-color:var(--v2-color-focus-dark);
}

@media (hover:hover) and (pointer:fine) {
.v2-page .v2-btn.on-dark.v2-btn--secondary:hover {
  background:rgba(255,255,255,.18);
  color:var(--v2-color-text-on-dark);
  border-color:transparent;
}
}

@media (hover:hover) and (pointer:fine) {
.v2-page .v2-btn.on-dark.v2-btn--ghost:hover {
  color:var(--v2-color-text-on-dark);
  opacity:.6;
}
}

.v2-page .v2-btn--inked {
  background:transparent;
  color:var(--v2-btn-ink);
  border-color:var(--v2-btn-ink);
}

@media (hover:hover) and (pointer:fine) {
.v2-page .v2-btn--inked:hover {
  color:var(--v2-color-text);
  border-color:var(--v2-color-text);
}
}

.v2-page .v2-btn--inked-fill {
  background:var(--v2-btn-fill);
  color:var(--v2-color-text-on-accent);
  border-color:var(--v2-btn-fill);
}

@media (hover:hover) and (pointer:fine) {
.v2-page .v2-btn--inked-fill:hover {
  border-color:var(--v2-btn-fill);
}
}

@media (prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine) {
.v2-page .v2-btn--inked-fill:hover {
  background:var(--v2-color-void);
  color:var(--v2-color-white);
}
}

.v2-page .v2-btn__label {
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:var(--v2-gap-control);
  transition:color var(--v2-dur-fast) var(--v2-ease);
}

/* DOM wrappers replacing React inline styles. */
.infisical-pixels {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  z-index: 1;
}
.infisical-cipher { position: relative; display: inline-block; white-space: nowrap; }
.infisical-cipher-original { opacity: 0; }
.infisical-cipher-display {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  :root { --v2-dur-press: 0ms; --v2-dur-fast: 0ms; --v2-dur-base: 0ms; --v2-dur-slow: 0ms; }
  .infisical-pixels { display: none; }
}
