/* Generated from design-theme.json. Edit the JSON, then run node scripts/design-theme.mjs build. */
:root {
  --bg: #F8F6F1;
  --bg-dark: #0C0C0C;
  --bg-mid: #F2EFE8;
  --surface: #FFFFFF;
  --text: #1C1814;
  --text-muted: #7A756E;
  --teal: #00b4b4;
  --gold: #C9A84C;
  --border: #E4DFD6;
  --design-button-bg: var(--teal);
  --design-button-text: var(--bg);
  --design-button-radius: 9999px;
  --design-button-padding-x: 2.5rem;
  --design-button-padding-y: 0.95rem;
  --design-input-border: var(--border);
  --design-input-radius: 8px;
  --design-switch-track: var(--surface);
  --design-switch-thumb: var(--teal);
  --design-badge-bg: var(--teal);
  --design-badge-text: var(--bg);
  --design-card-bg: var(--surface);
  --design-card-border: var(--border);
  --design-card-radius: 12px;
  --design-tab-active: var(--teal);
  --design-loading-color: var(--teal);
  --design-font-body: Jost, system-ui, sans-serif;
  --design-font-heading: Bodoni Moda, Georgia, serif;
  --design-font-size: 16px;
  --design-line-height: 160%;
}

/* Reusable controls for site features and the private component catalog. */
.bv-design-button { border: 0; border-radius: var(--design-button-radius); background: var(--design-button-bg); color: var(--design-button-text); padding: var(--design-button-padding-y) var(--design-button-padding-x); font: inherit; cursor: pointer; }
.bv-design-button:disabled { opacity: .5; cursor: not-allowed; }
.bv-design-input { border: 1px solid var(--design-input-border); border-radius: var(--design-input-radius); background: var(--design-card-bg); color: inherit; padding: .65rem .85rem; font: inherit; }
.bv-design-switch { display: inline-flex; align-items: center; width: 46px; height: 26px; padding: 3px; border: 1px solid var(--design-input-border); border-radius: 999px; background: var(--design-switch-track); cursor: pointer; }
.bv-design-switch::before { content: ''; width: 18px; height: 18px; border-radius: 50%; background: var(--design-switch-thumb); transition: transform .2s ease; }
.bv-design-switch[aria-checked='true']::before { transform: translateX(20px); }
.bv-design-badge { display: inline-flex; border-radius: 999px; background: var(--design-badge-bg); color: var(--design-badge-text); padding: .25rem .65rem; font: inherit; }
.bv-design-card { border: 1px solid var(--design-card-border); border-radius: var(--design-card-radius); background: var(--design-card-bg); color: inherit; padding: 1.25rem; }
.bv-design-tab { border: 0; border-bottom: 2px solid transparent; background: transparent; color: inherit; padding: .6rem .9rem; font: inherit; cursor: pointer; }
.bv-design-tab[aria-selected='true'] { color: var(--design-tab-active); border-bottom-color: currentColor; }
.bv-design-spinner { display: inline-block; width: 25px; height: 25px; border: 3px solid var(--design-card-border); border-top-color: var(--design-loading-color); border-radius: 50%; animation: bv-design-spin .8s linear infinite; }
@keyframes bv-design-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .bv-design-spinner { animation-duration: 3s; } }
