/* Flamingos pastel brand system — July 2026 */
:root {
  --brand-pink: #ff92c1;
  --brand-blush: #fbe0e0;
  --brand-caramel: #eeb77d;
  --brand-jasmine: #ffd47a;
  --brand-cream: #fff9f4;
  --brand-paper: #ffffff;
  --brand-ink: #3a2330;
  --brand-plum: #6d3852;
  --brand-muted: #876778;
  --brand-line: rgba(109, 56, 82, 0.2);
  --brand-shadow: 0 20px 52px rgba(109, 56, 82, 0.12);
  --brand-accent: #a93265;
  --brand-copy: #70485d;
  --brand-page-gradient:
    radial-gradient(circle at 18% 12%, rgba(255, 249, 244, 0.42), transparent 28rem),
    radial-gradient(circle at 84% 76%, rgba(255, 212, 122, 0.2), transparent 32rem),
    linear-gradient(135deg, #f6a8c8 0%, #f5b5c3 48%, #efbd93 100%);
  --brand-surface:
    linear-gradient(145deg, rgba(251, 224, 224, 0.94), rgba(255, 212, 122, 0.22));
  --brand-surface-strong: rgba(255, 249, 244, 0.9);
  --brand-surface-soft: rgba(255, 249, 244, 0.54);

  --bg: var(--brand-cream);
  --pill: var(--brand-pink);
  --border: var(--brand-caramel);
  --white: var(--brand-ink);
  --gray: var(--brand-muted);
  --pink: var(--brand-pink);
  --lime: #c43b73;
  --graphite: var(--brand-ink);
  --panel: var(--brand-paper);
  --deep: var(--brand-blush);
  --muted: var(--brand-muted);
  --line: var(--brand-line);
  --shared-graphite: var(--brand-cream);
  --shared-deep: var(--brand-blush);
  --shared-lime: var(--brand-plum);
  --honorary-lime: #c43b73;
  --honorary-panel: var(--brand-paper);
  --honorary-line: var(--brand-line);
  --honorary-muted: var(--brand-muted);
}

html {
  background: var(--brand-cream);
}

body {
  color: var(--brand-ink);
  background: var(--brand-page-gradient) !important;
  background-attachment: fixed !important;
}

body::before {
  opacity: 0.24;
  mix-blend-mode: multiply;
}

::selection {
  background: var(--brand-pink);
  color: var(--brand-ink);
}

:focus-visible {
  outline: 3px solid rgba(196, 59, 115, 0.35);
  outline-offset: 3px;
}

/* Shared navigation */
.header-pill,
.builder-header,
.grid-header,
.siteHeader,
.honoraries-header {
  border-color: var(--brand-caramel);
  background:
    linear-gradient(135deg, rgba(255, 146, 193, 0.97), rgba(238, 183, 125, 0.92));
  box-shadow: 0 12px 34px rgba(109, 56, 82, 0.14);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.header-pill {
  animation: none;
  border-width: 1px;
}

.header-logo,
.builder-brand img,
.grid-brand img,
.brand img,
.honoraries-brand img {
  height: 44px;
  max-width: 180px;
  filter: none;
  animation: none;
}

.header-left {
  padding-block: 14px;
}

.menu-btn {
  border-color: rgba(58, 35, 48, 0.24);
  background: rgba(255, 255, 255, 0.42);
  color: var(--brand-ink);
}

.menu-btn:hover {
  border-color: var(--brand-plum);
  background: var(--brand-paper);
  color: var(--brand-plum);
}

.header-nav {
  border-color: rgba(58, 35, 48, 0.16);
}

.nav-col a {
  color: var(--brand-ink);
  border-color: rgba(58, 35, 48, 0.14);
}

.nav-col a:hover {
  color: var(--brand-plum);
  background: rgba(255, 255, 255, 0.35);
}

.back-link,
.backLink,
.honoraries-back-link {
  color: var(--brand-ink);
}

.back-link:hover,
.backLink:hover,
.honoraries-back-link:hover,
.honoraries-back-link:focus-visible {
  color: #ffffff;
}

.header-socials {
  gap: 10px;
}

.header-social-link {
  width: 44px;
  height: 44px;
  border-color: rgba(58, 35, 48, 0.18);
  background: var(--brand-ink);
  box-shadow: 0 8px 22px rgba(58, 35, 48, 0.16);
}

.header-social-link:hover {
  border-color: var(--brand-caramel);
  background: var(--brand-plum);
  transform: translateY(-3px);
}

.hero-socials {
  position: static;
  inset: auto;
  z-index: auto;
  display: flex;
  justify-content: center;
  gap: 14px;
  margin: -4px 0 2px;
  padding: 0;
  transform: none;
}

.hero-socials .header-social-link {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.hero-socials .header-social-link img {
  width: 28px;
  height: 28px;
}

.hero-socials .header-social-link:hover {
  border: 0;
  background: transparent;
  transform: translateY(-2px) scale(1.08);
}

/* Homepage hero */
.hero--with-honoraries {
  padding-top: clamp(108px, 12vh, 132px);
  padding-bottom: 32px;
}

.hero-brand-stage {
  width: min(1180px, calc(100vw - 40px));
  min-height: auto;
  padding: 12px 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.hero-brand-stage::before,
.hero-brand-stage::after {
  content: none;
}

.hero-logo-wordmark {
  width: min(740px, 64vw, 76vh);
  margin: 0;
  transform: scaleX(1.28);
  transform-origin: center;
  animation: none;
}

.hero-sub,
.hero--with-honoraries .hero-sub {
  justify-content: center;
  margin: 0;
  color: var(--brand-ink);
  font-weight: 700;
  animation: none;
}

.hero--with-honoraries .hon-expand {
  padding-top: 26px;
  padding-bottom: 38px;
}

.hero--with-honoraries .hon-card {
  height: clamp(220px, 28vh, 260px);
}

.hero--with-honoraries .hon-card--active,
.hero--with-honoraries .hon-card:hover {
  width: 260px;
}

.hon-expand-label {
  color: var(--brand-plum);
}

.hon-expand-view-all {
  border-color: rgba(109, 56, 82, 0.28);
}

.hon-expand-label:hover,
.hon-expand-label:focus-visible {
  color: #c43b73;
}

.hon-card {
  border-color: var(--brand-caramel);
  box-shadow: 0 12px 30px rgba(109, 56, 82, 0.16);
}

.hon-card--active,
.hon-card:hover {
  border-color: var(--brand-pink);
  box-shadow:
    0 0 0 3px rgba(255, 146, 193, 0.2),
    0 18px 42px rgba(109, 56, 82, 0.2);
}

.hon-card-name {
  color: #ffffff;
}

.hon-card-x {
  color: var(--brand-jasmine);
}

.home-page .scroll-hint {
  min-width: 86px;
  padding: 9px 15px 8px;
  gap: 3px;
  border: 1px solid rgba(109, 56, 82, 0.18);
  border-radius: 999px;
  background: rgba(255, 249, 244, 0.38);
  color: var(--brand-plum);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.48),
    0 10px 28px rgba(109, 56, 82, 0.09);
  backdrop-filter: blur(10px);
  animation: none;
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.home-page .scroll-hint span {
  font-size: 0.54rem;
  font-weight: 700;
  letter-spacing: 0.2em;
}

.home-page .scroll-hint svg {
  width: 14px;
  height: 14px;
  opacity: 0.72;
}

.home-page .scroll-hint:hover,
.home-page .scroll-hint:focus-visible {
  border-color: rgba(196, 59, 115, 0.38);
  background: rgba(255, 249, 244, 0.62);
  color: #c43b73;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    0 12px 30px rgba(109, 56, 82, 0.13);
  filter: none;
}

.home-page .scroll-hint:focus-visible {
  outline: 2px solid rgba(196, 59, 115, 0.42);
  outline-offset: 4px;
}

/* Collection viewer */
.viewer {
  padding-top: 92px;
}

.viewer-title,
.viewer-title a,
.viewer-supply,
.viewer-supply strong {
  color: var(--brand-ink);
}

.viewer-card {
  border: 3px solid var(--brand-caramel);
  background: var(--brand-paper);
  box-shadow: var(--brand-shadow);
}

.ctrl,
.trait-builder-card {
  border-color: var(--brand-pink);
  background: rgba(255, 255, 255, 0.7);
  color: var(--brand-ink);
}

.ctrl:hover,
.trait-builder-card:hover,
.trait-builder-card:focus-visible {
  border-color: var(--brand-caramel);
  background: var(--brand-jasmine);
  color: var(--brand-ink);
}

.trait-builder-card > span:first-child,
.trait-builder-arrow {
  color: #c43b73;
}

.trait-builder-card:hover > span:first-child,
.trait-builder-card:focus-visible > span:first-child,
.trait-builder-card:hover .trait-builder-arrow,
.trait-builder-card:focus-visible .trait-builder-arrow {
  color: var(--brand-ink);
}

.dot {
  background: rgba(109, 56, 82, 0.24);
}

.dot.active {
  background: #c43b73;
}

/* Shared tool surfaces */
.builder-shell,
.grid-shell,
.shell,
.honoraries-main {
  color: var(--brand-ink);
}

.builder-intro p,
.traits-heading p,
.grid-intro p,
.eyebrow,
.setting-label,
.preview-topline,
.control-title,
.muted,
.honoraries-kicker,
.honoraries-section-head > div > p,
.honoraries-note > span {
  color: #b83269;
}

.builder-intro span,
.intro-copy,
.gate-copy p,
.preview-caption,
.traits-heading > span,
.honoraries-section-head > p,
.honorary-card-token,
.honoraries-hero-copy > p:last-child,
.honoraries-count p,
.honoraries-note p {
  color: var(--brand-muted);
}

.preview-panel,
.traits-panel,
.control-panel,
.tool,
.history,
.honorary-card,
.honoraries-count,
.honoraries-note {
  border-color: var(--brand-line);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 14px 38px rgba(109, 56, 82, 0.09);
}

.canvas-wrap,
.canvas-frame,
.canvas-placeholder,
.trait-card,
.nft-card {
  background: var(--brand-blush);
}

.canvas-loader {
  background: rgba(251, 224, 224, 0.88);
  color: var(--brand-plum);
}

.preview-actions button,
.category-tab,
.mode-tabs button,
.choice,
.selection-actions button,
.clear-all,
button,
.download {
  border-color: rgba(109, 56, 82, 0.24);
  background: var(--brand-paper);
  color: var(--brand-ink);
}

.preview-actions button:hover,
.category-tab:hover,
.category-tab.active,
.mode-tabs button.is-active,
.choice.is-active,
.selection-actions button:hover,
.clear-all:hover,
button:hover,
.download:hover {
  border-color: var(--brand-caramel);
  background: var(--brand-jasmine);
  color: var(--brand-ink);
}

.preview-actions .primary-action,
.lime-button,
.download-button,
.honorary-card-actions a:first-child,
.snapshot-enter {
  border-color: var(--brand-ink);
  background: var(--brand-ink);
  color: #ffffff;
}

.preview-actions .primary-action:hover,
.lime-button:hover,
.download-button:hover,
.honorary-card-actions a:first-child:hover,
.snapshot-enter:hover {
  border-color: #b83269;
  background: #b83269;
  color: #ffffff;
}

.preview-actions .share-action {
  border-color: var(--brand-pink);
  background: var(--brand-pink);
  color: var(--brand-ink);
}

.preview-actions .share-action:hover {
  border-color: var(--brand-caramel);
  background: var(--brand-jasmine);
  color: var(--brand-ink);
}

.category-tab,
.mode-tabs button,
.choice,
.selection-actions button,
.clear-all {
  color: var(--brand-muted);
}

.active-trait-bar,
.wallet-gate,
.collection-panel,
.bulkForm,
.optionsGrid {
  border-color: var(--brand-line);
}

.active-trait-bar span,
.traits-heading > span,
.control-title,
.selection-actions span,
.grid-controls label > span,
.preview-topline,
.preview-topline strong {
  color: var(--brand-plum);
}

.trait-card {
  border-color: transparent;
}

.trait-card:hover,
.trait-card.selected,
.nft-card.is-selected {
  border-color: var(--brand-pink);
}

.trait-card.selected {
  box-shadow: 0 0 0 3px rgba(255, 146, 193, 0.2);
}

.trait-card.selected::before,
.nft-card::after {
  background: var(--brand-pink);
  color: var(--brand-ink);
}

.address-scan input,
input,
textarea,
select,
.grid-controls select,
.fileLink {
  border-color: rgba(109, 56, 82, 0.22);
  background: #fffdfb;
  color: var(--brand-ink);
}

.address-scan input::placeholder,
input::placeholder,
textarea::placeholder {
  color: #a88d9a;
}

.address-scan input:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: #c43b73;
  box-shadow: 0 0 0 3px rgba(255, 146, 193, 0.25);
}

.canvas-placeholder strong,
.empty-state strong,
.gate-copy h2 {
  color: var(--brand-ink);
}

.canvas-placeholder,
.empty-state,
.preview-caption {
  color: var(--brand-muted);
}

.nft-card span {
  background: rgba(58, 35, 48, 0.86);
  color: #ffffff;
}

.nft-card.is-loading {
  border-color: rgba(255, 146, 193, 0.36);
  background: linear-gradient(110deg, #fbe0e0 18%, #fff9f4 38%, #fbe0e0 58%);
}

.nft-card.is-loading span {
  color: var(--brand-jasmine);
}

.share-dialog {
  border-color: var(--brand-caramel);
  background: var(--brand-paper);
  color: var(--brand-ink);
}

.share-close {
  border-color: var(--brand-line);
  color: var(--brand-ink);
}

.share-dialog > p {
  color: #b83269;
}

.share-dialog ol,
.share-note {
  color: var(--brand-muted);
}

.share-dialog strong,
.share-dialog kbd {
  color: var(--brand-ink);
}

.share-dialog kbd {
  border-color: var(--brand-line);
  background: var(--brand-blush);
}

.share-preview {
  border-color: var(--brand-caramel);
}

/* Unified product language: Builder, Grid Maker and Snapshot */
.home-page,
.builder-page,
.grid-page,
.snapshot-page,
.honoraries-page {
  color: var(--brand-ink);
  background: var(--brand-page-gradient) !important;
}

.builder-page .builder-header,
.grid-page .grid-header,
.snapshot-page .siteHeader {
  border: 1px solid rgba(109, 56, 82, 0.16);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 146, 193, 0.88), rgba(238, 183, 125, 0.84));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.45),
    0 18px 44px rgba(109, 56, 82, 0.12);
}

.builder-page .builder-shell,
.grid-page .grid-shell,
.snapshot-page .shell {
  color: var(--brand-ink);
}

.builder-page .builder-intro,
.grid-page .grid-intro {
  margin-bottom: 30px;
}

.builder-page .builder-intro p,
.grid-page .grid-intro p,
.snapshot-page .eyebrow {
  color: var(--brand-accent);
}

.builder-page .builder-intro h1,
.grid-page .grid-intro h1,
.snapshot-page h1,
.snapshot-page h2 {
  color: var(--brand-ink);
  text-wrap: balance;
}

.grid-page .grid-intro h1 span {
  color: var(--brand-accent);
}

.builder-page .builder-intro span,
.grid-page .intro-copy,
.snapshot-page .form label,
.snapshot-page .bulkForm label,
.snapshot-page .optionsGrid span {
  color: var(--brand-copy);
}

.builder-page .preview-panel,
.builder-page .traits-panel,
.grid-page .preview-panel,
.grid-page .control-panel,
.snapshot-page .tool,
.snapshot-page .history {
  border: 1px solid rgba(109, 56, 82, 0.17);
  border-radius: 22px;
  background: var(--brand-surface);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    0 18px 46px rgba(109, 56, 82, 0.11);
}

.builder-page .preview-panel,
.grid-page .preview-panel {
  background:
    linear-gradient(150deg, rgba(255, 249, 244, 0.92), rgba(251, 224, 224, 0.76));
}

.builder-page .preview-topline,
.grid-page .preview-topline,
.grid-page .control-title,
.grid-page .selection-actions span,
.grid-page .grid-controls label > span,
.snapshot-page .muted {
  color: var(--brand-plum);
}

.builder-page .canvas-wrap,
.grid-page .canvas-frame {
  border: 1px solid rgba(109, 56, 82, 0.18);
  border-radius: 16px;
  background: var(--brand-cream);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.5),
    0 12px 28px rgba(109, 56, 82, 0.08);
}

.builder-page .canvas-wrap canvas,
.grid-page .canvas-frame canvas {
  background: transparent;
  filter: none;
}

.builder-page .active-trait-bar,
.grid-page .wallet-gate,
.grid-page .collection-panel,
.grid-page .settings-panel,
.snapshot-page .statusBand,
.snapshot-page .logWrap,
.snapshot-page .manual {
  border-color: rgba(109, 56, 82, 0.16);
}

.builder-page .active-trait-bar,
.grid-page .wallet-gate,
.grid-page .collection-panel,
.snapshot-page .statusBand,
.snapshot-page .logHead,
.snapshot-page .fileLink {
  background: var(--brand-surface-soft);
}

.builder-page .category-tab,
.builder-page .preview-actions button,
.grid-page .mode-tabs button,
.grid-page .choice,
.grid-page .selection-actions button,
.grid-page .clear-all,
.snapshot-page button,
.snapshot-page .download {
  border: 1px solid rgba(109, 56, 82, 0.22);
  border-radius: 10px;
  background: rgba(255, 249, 244, 0.84);
  color: var(--brand-ink);
  box-shadow: none;
}

.builder-page .category-tab:hover,
.builder-page .category-tab.active,
.builder-page .preview-actions button:hover,
.grid-page .mode-tabs button:hover,
.grid-page .mode-tabs button.is-active,
.grid-page .choice:hover,
.grid-page .choice.is-active,
.grid-page .selection-actions button:hover,
.grid-page .clear-all:hover,
.snapshot-page button:hover,
.snapshot-page .download:hover {
  border-color: var(--brand-caramel);
  background: var(--brand-jasmine);
  color: var(--brand-ink);
}

.builder-page .preview-actions .primary-action,
.grid-page .lime-button,
.grid-page .download-button,
.snapshot-page .primary,
.snapshot-page .snapshot-enter {
  border-color: var(--brand-plum);
  background: var(--brand-plum);
  color: #ffffff;
}

.builder-page .preview-actions .primary-action:hover,
.grid-page .lime-button:hover,
.grid-page .download-button:hover,
.snapshot-page .primary:hover,
.snapshot-page .snapshot-enter:hover {
  border-color: var(--brand-accent);
  background: var(--brand-accent);
  color: #ffffff;
}

.builder-page .trait-card,
.grid-page .nft-card {
  border-color: rgba(109, 56, 82, 0.08);
  background: var(--brand-blush);
  box-shadow: 0 8px 18px rgba(109, 56, 82, 0.08);
}

.builder-page .trait-card:hover,
.builder-page .trait-card.selected,
.grid-page .nft-card:hover,
.grid-page .nft-card.is-selected {
  border-color: var(--brand-pink);
  box-shadow:
    0 0 0 3px rgba(255, 146, 193, 0.18),
    0 10px 24px rgba(109, 56, 82, 0.12);
}

.builder-page input,
.builder-page textarea,
.builder-page select,
.grid-page input,
.grid-page textarea,
.grid-page select,
.snapshot-page input,
.snapshot-page textarea,
.snapshot-page select {
  border-color: rgba(109, 56, 82, 0.2);
  background: rgba(255, 249, 244, 0.9);
  color: var(--brand-ink);
}

.builder-page input:focus,
.builder-page textarea:focus,
.builder-page select:focus,
.grid-page input:focus,
.grid-page textarea:focus,
.grid-page select:focus,
.snapshot-page input:focus,
.snapshot-page textarea:focus,
.snapshot-page select:focus {
  border-color: var(--brand-accent);
  box-shadow: 0 0 0 3px rgba(255, 146, 193, 0.24);
}

.grid-page .canvas-placeholder,
.grid-page .empty-state {
  background:
    linear-gradient(145deg, rgba(251, 224, 224, 0.78), rgba(255, 249, 244, 0.72));
  color: var(--brand-muted);
}

.grid-page .nft-list {
  scrollbar-color: var(--brand-pink) rgba(255, 249, 244, 0.55);
}

.snapshot-page .pill {
  border-color: var(--brand-accent);
  background: rgba(255, 249, 244, 0.56);
  color: var(--brand-accent);
}

.snapshot-page .pill.running {
  border-color: var(--brand-accent);
  color: var(--brand-accent);
}

.snapshot-page .pill.done {
  border-color: var(--brand-caramel);
  background: var(--brand-jasmine);
  color: var(--brand-ink);
}

.snapshot-page .statusBand {
  background:
    linear-gradient(145deg, rgba(251, 224, 224, 0.68), rgba(255, 249, 244, 0.62));
}

.snapshot-page .copyContract,
.snapshot-page .statusBand strong,
.snapshot-page .fileLink,
.snapshot-page ol li {
  color: var(--brand-ink);
}

.snapshot-page .copyContract:not(:empty):hover,
.snapshot-page .copyContract:focus-visible,
.snapshot-page .logHead,
.snapshot-page .manual strong,
.snapshot-page .manual a {
  color: var(--brand-accent);
}

.snapshot-page .progressWrap {
  background: rgba(109, 56, 82, 0.12);
}

.snapshot-page #progressBar {
  background: linear-gradient(90deg, var(--brand-pink), var(--brand-caramel));
}

@media (max-width: 620px) {
  .builder-page .preview-panel,
  .builder-page .traits-panel,
  .grid-page .preview-panel,
  .grid-page .control-panel,
  .snapshot-page .tool,
  .snapshot-page .history {
    border-radius: 17px;
  }
}

/* Snapshot */
.snapshot-intro {
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 249, 244, 0.42), transparent 25rem),
    radial-gradient(circle at 50% 82%, rgba(255, 212, 122, 0.25), transparent 30rem),
    linear-gradient(135deg, #f6a8c8 0%, #f5b5c3 48%, #efbd93 100%);
}

.snapshot-intro-grid {
  opacity: 0;
}

.snapshot-intro-glow {
  width: min(760px, 88vw);
  background: radial-gradient(circle, rgba(255, 249, 244, 0.28), transparent 68%);
  animation: none;
}

.snapshot-intro-card {
  width: min(820px, 100%);
  padding: clamp(30px, 5vw, 50px);
  border: 1px solid rgba(109, 56, 82, 0.16);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(251, 224, 224, 0.72), rgba(255, 212, 122, 0.18));
  color: var(--brand-ink);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 28px 80px rgba(109, 56, 82, 0.15);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.snapshot-intro-card::after {
  content: none;
}

.snapshot-intro-mark {
  width: min(280px, 72vw);
  height: auto;
  margin-bottom: 24px;
  border: 0;
  background: transparent;
}

.snapshot-intro-mark img {
  width: 100%;
  height: auto;
  filter: none;
}

.snapshot-orbit {
  display: none;
}

.snapshot-intro-kicker,
.snapshot-intro h1 span {
  color: var(--brand-accent);
}

.snapshot-intro h1,
.snapshot-intro-lead {
  color: var(--brand-ink);
}

.snapshot-intro h1 {
  font-size: clamp(54px, 8vw, 84px);
  line-height: 0.8;
}

.snapshot-intro-lead {
  margin-top: 28px;
}

.snapshot-intro-copy,
.snapshot-intro-note {
  color: var(--brand-copy);
}

.snapshot-intro-features span {
  border-color: rgba(109, 56, 82, 0.18);
  background: rgba(255, 249, 244, 0.62);
  color: var(--brand-plum);
}

.snapshot-intro .snapshot-enter {
  width: min(430px, 100%);
  min-height: 56px;
  border-color: var(--brand-plum);
  background: var(--brand-plum);
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(109, 56, 82, 0.16);
}

.snapshot-intro .snapshot-enter:hover {
  border-color: var(--brand-accent);
  background: var(--brand-accent);
  color: #ffffff;
  transform: translateY(-2px);
}

@media (max-width: 620px) {
  .snapshot-intro {
    padding: 14px;
  }

  .snapshot-intro-card {
    padding: 28px 18px 24px;
    border-radius: 20px;
  }

  .snapshot-intro-mark {
    width: min(230px, 68vw);
    margin-bottom: 18px;
  }
}

.pill {
  border-color: #c43b73;
  color: #b83269;
}

.pill.done {
  background: var(--brand-jasmine);
  color: var(--brand-ink);
}

.statusBand,
.logHead,
.fileLink,
.progressWrap {
  border-color: var(--brand-line);
  background: var(--brand-blush);
}

.progressWrap {
  background: rgba(109, 56, 82, 0.12);
}

#progressBar {
  background: linear-gradient(90deg, var(--brand-pink), var(--brand-caramel));
}

.logHead,
.manual strong,
.manual a {
  color: #b83269;
}

.manual {
  border-color: var(--brand-caramel);
  background: rgba(255, 212, 122, 0.16);
}

.fileRow,
.files,
.logWrap {
  color: var(--brand-ink);
}

.fileLink:hover {
  border-color: var(--brand-pink);
}

ol li {
  color: var(--brand-ink);
}

/* Honoraries */
.honoraries-page {
  --honorary-surface: rgba(251, 224, 224, 0.9);
  --honorary-surface-warm: rgba(255, 212, 122, 0.22);
  --honorary-accent: #a93265;
  --honorary-copy: #70485d;
  background:
    radial-gradient(circle at 16% 18%, rgba(255, 249, 244, 0.5), transparent 28%),
    radial-gradient(circle at 84% 72%, rgba(255, 212, 122, 0.2), transparent 34%),
    linear-gradient(135deg, #f6a8c8 0%, #f5b5c3 48%, #efbd93 100%) !important;
}

.honoraries-page .honoraries-main {
  color: var(--brand-ink);
}

.honoraries-hero {
  border-color: var(--brand-line);
}

.honoraries-hero h1,
.honoraries-section-head h2,
.honorary-card h3,
.honoraries-count span {
  color: var(--brand-ink);
}

.honoraries-hero h1 span,
.honoraries-count strong {
  color: var(--honorary-accent);
}

.honoraries-page .honoraries-kicker,
.honoraries-page .honoraries-section-head > div > p,
.honoraries-page .honoraries-note > span {
  color: var(--honorary-accent);
}

.honoraries-page .honoraries-hero-copy > p:last-child,
.honoraries-page .honoraries-section-head > p,
.honoraries-page .honorary-card-token,
.honoraries-page .honoraries-count p,
.honoraries-page .honoraries-note p {
  color: var(--honorary-copy);
}

.honoraries-page .honoraries-count {
  overflow: hidden;
  border: 1px solid rgba(109, 56, 82, 0.16);
  border-radius: 22px;
  background:
    linear-gradient(145deg, var(--honorary-surface), var(--honorary-surface-warm));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.52),
    0 18px 44px rgba(109, 56, 82, 0.11);
}

.honorary-card {
  overflow: hidden;
  border-color: rgba(109, 56, 82, 0.16);
  border-radius: 18px;
  background: transparent;
  box-shadow: 0 12px 32px rgba(109, 56, 82, 0.08);
}

.honorary-card:hover,
.honorary-card:focus-within {
  border-color: rgba(169, 50, 101, 0.48);
  box-shadow:
    0 0 0 3px rgba(255, 146, 193, 0.18),
    0 20px 42px rgba(109, 56, 82, 0.14);
}

.honorary-card-media {
  background: var(--brand-blush);
}

.honoraries-page .honorary-card-body {
  min-height: 170px;
  background:
    linear-gradient(155deg, rgba(251, 224, 224, 0.96), rgba(255, 212, 122, 0.24));
}

.honorary-card-token {
  color: var(--brand-muted);
}

.honoraries-page .honorary-process-toggle {
  border-color: rgba(255, 247, 237, 0.92);
  background: rgba(81, 54, 71, 0.92);
  color: #ffffff;
}

.honoraries-page .honorary-process-toggle:hover,
.honoraries-page .honorary-process-toggle:focus-visible {
  background: var(--brand-berry);
}

.honorary-card-actions a {
  border-color: rgba(109, 56, 82, 0.2);
  border-radius: 10px;
  background: rgba(255, 249, 244, 0.44);
  color: var(--brand-ink);
}

.honorary-card-actions a:first-child {
  border-color: var(--brand-plum);
  background: var(--brand-plum);
  color: #ffffff;
}

.honorary-card-actions a:hover,
.honorary-card-actions a:focus-visible {
  border-color: var(--brand-caramel);
  background: var(--brand-jasmine);
  color: var(--brand-ink);
}

.honoraries-note a {
  border-color: #c43b73;
  color: #b83269;
}

.honoraries-note a:hover,
.honoraries-note a:focus-visible {
  background: var(--brand-pink);
  color: var(--brand-ink);
}

.honoraries-page .honoraries-note {
  border: 1px solid rgba(109, 56, 82, 0.16);
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(251, 224, 224, 0.9), rgba(255, 212, 122, 0.2));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.46),
    0 16px 38px rgba(109, 56, 82, 0.09);
}

/* Footer */
.site-footer {
  border-top-color: rgba(109, 56, 82, 0.16);
  background: linear-gradient(135deg, var(--brand-pink), var(--brand-caramel));
  box-shadow: none;
}

.footer-left,
.footer-right {
  color: var(--brand-ink);
  opacity: 1;
}

.footer-logo {
  opacity: 1;
}

.home-page .footer-logo {
  width: auto;
  height: 44px;
  max-width: 180px;
}

@media (max-width: 620px) {
  .home-page .footer-logo {
    height: 36px;
    max-width: 150px;
  }
}

@media (max-width: 980px) {
  .hero-brand-stage {
    min-height: auto;
  }
}

@media (max-width: 820px) {
  .hero--with-honoraries {
    padding-top: 132px;
  }

  .hero-brand-stage {
    padding: 24px 20px;
    text-align: center;
  }

  .hero-logo-wordmark {
    width: min(820px, 88vw);
    margin-inline: auto;
  }

  .hero-sub {
    justify-content: center;
  }

  .hero-socials {
    gap: 11px;
    margin-top: -2px;
  }

  .hero-socials .header-social-link {
    width: 34px;
    height: 34px;
  }

  .hero-socials .header-social-link img {
    width: 26px;
    height: 26px;
  }

  .hero--with-honoraries .hon-expand {
    padding-top: 48px;
  }
}

@media (max-width: 767px) {
  .hero--with-honoraries .hon-card {
    height: 230px;
  }

  .hero--with-honoraries .hon-card--active,
  .hero--with-honoraries .hon-card:hover {
    width: 230px;
  }
}

@media (max-width: 620px) {
  .header-logo,
  .builder-brand img,
  .grid-brand img,
  .brand img,
  .honoraries-brand img {
    height: 32px;
    max-width: 136px;
  }

  .hero--with-honoraries {
    padding-inline: 12px;
    padding-top: 112px;
  }

  .hero-brand-stage {
    width: 100%;
    min-height: 0;
    padding: 20px 12px;
  }

  .hero-logo-wordmark {
    margin-bottom: 0;
    transform: scaleX(1.14);
  }

  .hero-sub {
    font-size: 0.76rem;
  }

  .hero--with-honoraries .hon-expand {
    padding-top: 36px;
  }

  .hon-card,
  .hero--with-honoraries .hon-card {
    border-radius: 15px;
  }

  .preview-panel,
  .traits-panel,
  .control-panel,
  .tool,
  .history {
    border-radius: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-logo-wordmark,
  .header-logo {
    animation: none !important;
  }
}

/* Homepage masthead: keep only the official wordmark visible. */
.home-page .header-left {
  color: transparent;
  font-size: 0;
  line-height: 0;
}

.home-page .header-logo {
  width: auto;
  height: 54px;
  max-width: 230px;
}

@media (max-width: 620px) {
  .home-page .header-logo {
    height: 42px;
    max-width: 190px;
  }
}
