:root {
  --bg: #f6f7f5;
  --panel: #ffffff;
  --panel-2: #eef3ef;
  --panel-3: #fbfcfb;
  --panel-strong: #ffffff;
  --ink: #17211d;
  --muted: #66736d;
  --line: #dce3df;
  --accent: #14885f;
  --accent-2: #0f6f65;
  --accent-soft: #e8f5ef;
  --success: #157347;
  --warn: #b7791f;
  --danger: #b42318;
  --shadow: 0 18px 48px rgba(25, 44, 35, 0.09);
  --focus-ring: rgba(20, 136, 95, 0.14);
  --notice-bg: #fff8eb;
  --notice-ink: #6d4c12;
  --error-bg: #fff3f1;
  --code-bg: #101916;
  --code-ink: #d9f2e6;
  --preview-gradient: linear-gradient(135deg, #f7fbf7, #e5f3ec);
}


.app-shell[data-theme="dark"] {
  --bg: #101412;
  --panel: #161d1a;
  --panel-2: #203029;
  --panel-3: #131916;
  --panel-strong: #1b2420;
  --ink: #edf6f1;
  --muted: #9aa9a2;
  --line: #2b3933;
  --accent: #35b57f;
  --accent-2: #4dc0b2;
  --accent-soft: #183b2c;
  --success: #62d49d;
  --warn: #e0b15e;
  --danger: #ff8c7f;
  --shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
  --focus-ring: rgba(53, 181, 127, 0.22);
  --notice-bg: #2b2314;
  --notice-ink: #f1d18e;
  --error-bg: #2b1716;
  --code-bg: #07100c;
  --code-ink: #d9f2e6;
  --preview-gradient: linear-gradient(135deg, #17211d, #20352c);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }

.app-shell {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  min-height: 100vh;
  background: var(--bg);
  color: var(--ink);
}
.auth-shell {
  display: block;
}
.auth-main {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  padding: 22px;
}
.auth-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.auth-topbar .brand {
  margin-bottom: 0;
}
.auth-layout {
  width: min(1040px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, 0.75fr) minmax(360px, 1fr);
  gap: 22px;
  align-items: center;
}
.auth-copy {
  display: grid;
  gap: 14px;
  align-content: center;
}
.auth-copy h1 {
  margin: 0;
  font-size: 44px;
  line-height: 1.02;
}
.auth-copy p {
  margin: 0;
  max-width: 420px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.45;
}
.auth-layout .trial-panel {
  margin-bottom: 0;
}
.auth-layout .trial-grid {
  grid-template-columns: 1fr;
}
.auth-layout .notice {
  margin: 0;
}
.sidebar {
  border-right: 1px solid var(--line);
  background: var(--panel-3);
  padding: 20px 14px;
  position: sticky;
  top: 0;
  height: 100vh;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 760;
  margin-bottom: 30px;
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: var(--ink);
  color: white;
}
.nav-list { display: grid; gap: 6px; }
.nav-item {
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 9px 10px;
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  text-align: left;
  font-size: 14px;
}
.nav-item.active { color: var(--ink); background: var(--panel-2); }
.main {
  min-width: 0;
  padding: 18px 24px 34px;
}
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.topbar h1 {
  margin: 0;
  font-size: 23px;
  line-height: 1.2;
}
.workbench-topbar {
  max-width: 1120px;
  margin: 0 auto 16px;
}
.workbench-topbar h1 {
  font-size: 22px;
}
.workspace-back {
  min-height: 32px;
  margin: 0 0 4px -7px;
  padding: 4px 7px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
}
.workspace-back:hover { color: var(--ink); background: var(--panel-2); }
.status-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 10px;
  background: var(--panel-strong);
  color: var(--muted);
  font-size: 13px;
}
.pill.danger {
  color: var(--danger);
  border-color: color-mix(in srgb, var(--danger) 32%, var(--line));
  background: var(--error-bg);
}
.toggle-row {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
}
.toggle-row.compact {
  min-height: 36px;
}
.toggle-row input {
  width: 16px;
  height: 16px;
}
.grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  gap: 16px;
}
.workbench-home {
  display: grid;
  gap: 14px;
  width: min(1120px, 100%);
  margin: 0 auto;
}
.sites-catalog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 4px 0 8px;
}
.sites-catalog-head h2 { margin: 0; font-size: 20px; line-height: 1.25; }
.sites-catalog-head p { margin: 4px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.site-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.site-card {
  min-width: 0;
  min-height: 188px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.site-card-main { display: flex; align-items: center; gap: 11px; min-width: 0; }
.site-card-main > div:last-child { min-width: 0; }
.site-card-main strong, .site-card-main small { display: block; overflow-wrap: anywhere; }
.site-card-main strong { color: var(--ink); font-size: 15px; line-height: 1.35; }
.site-card-main small { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.site-card-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  color: var(--accent);
  background: var(--accent-soft);
}
.site-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 10px; color: var(--muted); font-size: 12px; }
.site-status { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 8px; border-radius: 999px; border: 1px solid var(--line); font-weight: 700; }
.site-status.status-scanned { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 32%, var(--line)); background: var(--accent-soft); }
.site-status.status-generated { color: var(--success); border-color: color-mix(in srgb, var(--success) 32%, var(--line)); background: color-mix(in srgb, var(--success) 10%, var(--panel)); }
.site-version-badge {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 3px 8px;
  border-radius: 999px;
  color: var(--accent);
  border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--line));
  background: var(--accent-soft);
  font-weight: 700;
}
.site-card-dates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 12px;
  color: var(--muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  line-height: 1.4;
}
.site-card-dates time:last-child { color: var(--ink); font-weight: 600; }
.site-card .project-card-actions { margin-top: auto; justify-content: flex-start; }
.site-card .icon-button { margin-left: auto; }
.site-generation-history {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}
.site-generation-history summary {
  width: fit-content;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}
.site-generation-history-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.site-generation-history-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 8px;
  background: var(--canvas);
  color: var(--muted);
  font-size: 11px;
}
.site-generation-history-row strong,
.site-generation-history-row small { display: block; }
.site-generation-history-row strong { color: var(--ink); font-size: 12px; }
.site-generation-history-row small { margin-top: 2px; line-height: 1.35; }
.site-generation-history-row time { font-variant-numeric: tabular-nums; white-space: nowrap; }
.site-generation-history-row .icon-button { width: 30px; height: 30px; margin-left: 0; }
.sites-empty { min-height: 132px; }
.workbench-home.first-run {
  width: min(820px, 100%);
  padding-top: clamp(48px, 9vh, 96px);
}
.workbench-home.first-run .scan-command {
  grid-template-columns: 1fr;
  gap: 16px;
}
.scan-command {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
  padding: 18px;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 18px;
  align-items: end;
}
.scan-command-copy {
  display: grid;
  gap: 4px;
}
.scan-command-copy h2 {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}
.scan-command-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}
.scan-command-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}
.scan-url-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.scan-url-field span {
  font-size: 12px;
  color: var(--muted);
  font-weight: 680;
}
.scan-url-field .input {
  min-height: 48px;
  font-size: 16px;
}
.scan-command-button {
  min-height: 48px;
  min-width: 118px;
  font-size: 15px;
}
.scan-results-panel {
  overflow: hidden;
}
.scan-results-body {
  display: grid;
  gap: 12px;
}
.workflow-panel.compact {
  box-shadow: none;
}
.scan-results-actions {
  display: flex;
  justify-content: flex-end;
}
.deep-scan-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: stretch;
}
.deep-scan-summary .button {
  align-self: stretch;
}
.project-list {
  display: grid;
  gap: 8px;
}
.project-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 68px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
  padding: 12px;
}
.project-card strong,
.project-card small {
  display: block;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.project-card small {
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}
.project-card-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.empty-state {
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: var(--panel-3);
  padding: 14px;
}
.empty-state strong,
.empty-state span {
  display: block;
  line-height: 1.35;
}
.empty-state strong {
  color: var(--ink);
  font-size: 13px;
}
.empty-state span {
  font-size: 12px;
}
.empty-state.compact {
  max-width: 520px;
}
.lead-list {
  display: grid;
  gap: 10px;
}
.lead-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
  padding: 14px;
}
.lead-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.lead-title-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}
.lead-title-row input {
  margin-top: 3px;
  flex: 0 0 auto;
}
.lead-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.spam-badge {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.spam-badge.low {
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.35);
}
.spam-badge.medium {
  color: #92400e;
  background: rgba(245, 158, 11, 0.14);
  border-color: rgba(245, 158, 11, 0.38);
}
.spam-badge.high {
  color: #991b1b;
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.35);
}
.lead-card-head strong,
.lead-card-head small {
  display: block;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.lead-card-head small,
.lead-meta {
  color: var(--muted);
  font-size: 12px;
}
.lead-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
  margin: 0;
}
.lead-fields div {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-3);
  padding: 10px;
  min-width: 0;
}
.lead-fields dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.lead-fields dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
.lead-meta {
  display: grid;
  gap: 4px;
  margin-top: 10px;
  overflow-wrap: anywhere;
}
.settings-grid {
  display: grid;
  gap: 10px;
  max-width: 720px;
}
.panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}
.panel-head {
  padding: 16px 16px 12px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.panel-head h2, .panel-head h3 { margin: 0; font-size: 16px; }
.panel-head p, .muted { margin: 4px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.panel-body { padding: 16px; }
.panel-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.completion-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel-strong);
  color: var(--muted);
  padding: 6px 10px;
  font-size: 12px;
  white-space: nowrap;
}
.completion-pill strong {
  color: var(--ink);
}
.completion-dot {
  --completion: 0%;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: conic-gradient(var(--accent) var(--completion), var(--line) 0);
  box-shadow: inset 0 0 0 3px var(--panel-strong);
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.generation-grid.single {
  grid-template-columns: 1fr;
}
.field { display: grid; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field span { font-size: 12px; color: var(--muted); font-weight: 680; }
.field-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.field-status {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  color: var(--muted);
  background: var(--panel-strong);
}
.field-status.complete {
  border-color: color-mix(in srgb, var(--accent) 52%, var(--line));
  background: color-mix(in srgb, var(--accent) 14%, var(--panel-strong));
  color: var(--accent);
}
.logo-upload-field {
  align-content: start;
}
.logo-preview {
  width: 72px;
  height: 72px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
  object-fit: contain;
}
.logo-preview.empty {
  display: grid;
  place-items: center;
  color: var(--muted);
}
.logo-drop-zone {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 112px;
  border: 1px dashed color-mix(in srgb, var(--muted) 58%, var(--line));
  border-radius: 8px;
  background: var(--panel-3);
  padding: 14px;
  cursor: pointer;
}
.logo-drop-zone.active {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 10%, var(--panel-3));
  box-shadow: 0 0 0 3px var(--focus-ring);
}
.logo-drop-zone strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
}
.logo-drop-zone small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
  margin-top: 2px;
}
.logo-drop-zone input {
  display: none;
}
.visual-style-editor {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: color-mix(in srgb, var(--panel-strong) 74%, transparent);
}
.visual-style-editor .field-label > span:first-child,
.style-font-field > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.style-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.style-color-field,
.style-font-field {
  display: grid;
  gap: 6px;
}
.style-font-field {
  grid-column: 1 / -1;
}
.style-color-input {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}
.style-color-input input[type="color"] {
  width: 44px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 3px;
  background: var(--panel);
}
.palette-row,
.font-chip-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 4px;
}
.palette-row > span,
.font-chip-row > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 680;
}
.palette-swatches {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.palette-swatch {
  width: 28px;
  height: 28px;
  border: 1px solid var(--line);
  border-radius: 999px;
  cursor: pointer;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.55);
}
.input, .textarea, .select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
  color: var(--ink);
  padding: 10px 11px;
  outline: none;
}
.textarea { min-height: 88px; resize: vertical; }
.input:focus, .textarea:focus, .select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--focus-ring);
}
.app-shell .button {
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 9px 13px;
  background: var(--accent);
  color: #fff;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  font-weight: 720;
}
.app-shell .button.secondary {
  background: var(--panel-strong);
  color: var(--ink);
  border-color: var(--line);
}
.app-shell .button.danger {
  color: var(--danger);
  border-color: color-mix(in srgb, var(--danger) 35%, var(--line));
  background: var(--error-bg);
}
.icon-button {
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
  color: var(--ink);
  display: inline-grid;
  place-items: center;
}
.app-shell .button:disabled { opacity: 0.52; cursor: not-allowed; }
.steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}
.step {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 8px;
  padding: 12px;
}
.step.active { border-color: var(--accent); background: var(--panel-2); }
.step b { display: block; font-size: 13px; }
.step span { color: var(--muted); font-size: 12px; }
.workflow-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  padding: 12px;
  margin-bottom: 16px;
  display: grid;
  gap: 9px;
  min-height: 72px;
}
.workflow-copy {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  font-size: 13px;
  min-height: 20px;
}
.workflow-copy strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.workflow-copy span {
  color: var(--muted);
  white-space: nowrap;
}
.progress-track {
  height: 8px;
  border-radius: 999px;
  background: var(--panel-2);
  overflow: hidden;
}
.progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 72%, #ffffff), var(--accent));
  background-size: 180% 100%;
  transition: width 760ms cubic-bezier(0.22, 1, 0.36, 1);
}
.progress-track.active span {
  animation: progress-flow 1.65s linear infinite;
}
@keyframes progress-flow {
  from { background-position: 180% 0; }
  to { background-position: 0 0; }
}
.list { display: grid; gap: 8px; max-height: 420px; overflow: auto; padding-right: 3px; }
.row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
}
.row strong { font-size: 13px; }
.row small { color: var(--muted); overflow-wrap: anywhere; }
.sitemap-tree {
  display: grid;
  gap: 8px;
  max-height: 440px;
  overflow: auto;
  padding-right: 3px;
}
.sitemap-folder {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}
.sitemap-folder summary {
  list-style: none;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 9px 10px;
  cursor: pointer;
}
.sitemap-folder summary::-webkit-details-marker { display: none; }
.sitemap-folder summary strong {
  font-size: 13px;
  overflow-wrap: anywhere;
}
.sitemap-folder summary small {
  color: var(--muted);
  font-size: 12px;
}
.tree-caret {
  color: var(--muted);
  transform: rotate(90deg);
  transition: transform 160ms ease;
}
.sitemap-folder:not([open]) .tree-caret { transform: rotate(0deg); }
.sitemap-children {
  display: grid;
  gap: 7px;
  padding: 0 8px 8px 22px;
  animation: treeReveal 150ms ease;
}
.sitemap-page {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 9px;
  align-items: center;
  min-height: 54px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-3);
  padding: 9px;
}
.sitemap-page.muted-option {
  opacity: 0.58;
}
.sitemap-page strong {
  display: block;
  font-size: 13px;
  line-height: 1.25;
}
.sitemap-page small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.language-picker {
  display: grid;
  grid-template-columns: minmax(120px, 0.75fr) repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin: 8px 0 10px;
}
.language-picker > div,
.language-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-3);
  padding: 9px 10px;
}
.language-picker > div strong {
  font-size: 18px;
}
.language-picker > div span,
.language-option small {
  color: var(--muted);
  font-size: 12px;
}
.language-option strong {
  display: block;
  font-size: 13px;
}
@keyframes treeReveal {
  from { opacity: 0; transform: translateY(-3px); }
  to { opacity: 1; transform: translateY(0); }
}
.dns-steps {
  display: grid;
  gap: 8px;
}
.dns-steps.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.dns-steps div {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 9px;
  align-items: start;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-3);
}
.dns-steps b {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--ink);
  color: white;
  font-size: 12px;
}
.dns-steps span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.metric-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.metric {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: var(--panel-3);
}
.metric b { display: block; font-size: 22px; }
.metric span { color: var(--muted); font-size: 12px; }
.source-page-blocks {
  display: grid;
  gap: 12px;
  max-height: 520px;
  overflow: auto;
  margin-top: 12px;
  padding-right: 3px;
}
.source-page-group {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-3);
  padding: 10px;
}
.source-page-group > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.source-page-group h3 {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.source-page-group p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
}
.source-block-list {
  display: grid;
  gap: 8px;
}
.source-block {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 76px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
  padding: 10px;
  cursor: pointer;
}
.source-block.active {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--focus-ring);
}
.source-block.muted-block {
  opacity: 0.54;
  background: var(--panel);
}
.source-block strong {
  display: block;
  font-size: 13px;
  line-height: 1.25;
}
.source-block small,
.source-block em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.source-block em {
  margin-top: 6px;
  font-style: normal;
  color: var(--ink);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.generate-action-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.generate-action-row span {
  color: var(--muted);
  font-size: 13px;
}
.wireframe {
  display: grid;
  gap: 8px;
}
.analysis-preview {
  max-height: 520px;
  overflow: auto;
  padding-right: 3px;
}
.block {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--panel-strong);
  min-height: 86px;
}
.block.active {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--focus-ring);
}
.block.muted-block {
  opacity: 0.52;
  background: var(--panel-3);
}
.block header {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  margin-bottom: 7px;
}
.block p { margin: 0; color: var(--muted); font-size: 13px; }
.preview {
  min-height: 540px;
  background: var(--panel-3);
  border-radius: 8px;
  overflow: hidden;
}
.preview-hero {
  padding: 42px 34px;
  background: var(--preview-gradient);
  border-bottom: 1px solid var(--line);
}
.preview-hero h3 { margin: 0 0 10px; font-size: 34px; line-height: 1.05; max-width: 620px; }
.preview-hero p { margin: 0; max-width: 620px; color: var(--muted); line-height: 1.55; }
.preview-section { padding: 26px 34px; border-bottom: 1px solid var(--line); }
.preview-section h4 { margin: 0 0 10px; }
.preview-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.mini-card { border: 1px solid var(--line); border-radius: 8px; padding: 12px; background: var(--panel-strong); }
.notice {
  border-left: 4px solid var(--warn);
  background: var(--notice-bg);
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--notice-ink);
  font-size: 13px;
}
.error { border-left-color: var(--danger); background: var(--error-bg); color: var(--danger); }
.actions { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; }
.trial-panel {
  margin-bottom: 16px;
}
.trial-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 220px auto;
  gap: 10px;
  align-items: end;
}
.trial-disclosure {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-3);
  color: var(--muted);
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.45;
}
.trial-disclosure svg {
  flex: 0 0 auto;
  color: var(--accent);
}
.trial-grid .notice {
  grid-column: 1 / -1;
  margin: 0;
}
.payment-panel {
  grid-column: 1 / -1;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-3);
  padding: 12px;
}
.stripe-form {
  display: grid;
  gap: 12px;
}
.domain-header {
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-3);
  padding: 12px;
}
.domain-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.domain-summary strong,
.domain-summary small {
  display: block;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.domain-summary small {
  color: var(--muted);
  font-size: 12px;
}
.domain-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}
.domain-input {
  min-width: 0;
}
.project-theme-editor {
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-3);
  padding: 12px;
}
.project-theme-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.project-theme-head strong,
.project-theme-head small {
  display: block;
  line-height: 1.35;
}
.project-theme-head small {
  color: var(--muted);
  font-size: 12px;
}
.theme-controls-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.theme-controls-grid .font-field {
  grid-column: 1 / -1;
}
.color-control {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}
.color-control input[type="color"] {
  width: 42px;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
  padding: 4px;
}
.color-control.single {
  grid-template-columns: minmax(0, 1fr);
}
.project-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}
.project-tabs button {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
  color: var(--muted);
  min-height: 38px;
  font-weight: 720;
  cursor: pointer;
}
.project-tabs button[data-state="active"] {
  border-color: var(--accent);
  background: var(--panel-2);
  color: var(--ink);
}
.visual-fidelity-card {
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
  padding: 12px;
}
.visual-fidelity-card.passed {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
}
.visual-fidelity-card.failed,
.visual-fidelity-card.error {
  border-color: color-mix(in srgb, var(--danger) 55%, var(--line));
}
.visual-fidelity-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}
.visual-fidelity-head span,
.visual-fidelity-links {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.visual-fidelity-links small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.visual-fidelity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.visual-fidelity-grid > div {
  display: grid;
  gap: 2px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px;
  background: var(--panel);
}
.visual-fidelity-grid > div small {
  color: var(--muted);
  font-size: 11px;
}
.visual-fidelity-grid img {
  aspect-ratio: 16 / 10;
  background: var(--panel-3);
  border: 1px solid var(--line);
  border-radius: 6px;
  height: auto;
  margin-top: 4px;
  object-fit: cover;
  width: 100%;
}
.visual-fidelity-metric-row {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}
.visual-fidelity-grid > div.passed strong {
  color: var(--accent);
}
.visual-fidelity-grid > div.failed strong {
  color: var(--danger);
}
.site-frame {
  width: 100%;
  height: 520px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
}
.editor-fields {
  display: grid;
  gap: 10px;
  max-height: 560px;
  overflow: auto;
  padding-right: 4px;
}

.page-publication-card {
  align-items: center;
  background: var(--panel-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 14px;
}

.page-publication-card > span {
  display: grid;
  gap: 4px;
}

.page-publication-card small {
  color: var(--muted);
}

.page-publication-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

@media (max-width: 720px) {
  .page-publication-card {
    align-items: stretch;
    flex-direction: column;
  }

  .page-publication-actions {
    justify-content: stretch;
  }

  .page-publication-actions .button {
    flex: 1;
  }
}

.component-content-editor {
  display: grid;
  gap: 10px;
  width: 100%;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.component-content-group {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-soft);
}

.component-content-group > summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  cursor: pointer;
}

.component-content-group > summary span {
  color: var(--muted);
  font-size: 12px;
}

.component-content-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 0 14px 14px;
}

.canonical-media-field {
  align-content: start;
}

.canonical-media-preview {
  width: 100%;
  height: 112px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
}

iframe.canonical-media-preview {
  display: block;
}

.canonical-media-source {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.canonical-media-upload {
  min-height: 38px;
  white-space: nowrap;
}

.canonical-media-upload input {
  display: none;
}

@media (max-width: 760px) {
  .component-content-fields { grid-template-columns: 1fr; }
  .canonical-media-source { grid-template-columns: minmax(0, 1fr); }
  .canonical-media-upload { justify-content: center; }
}
.media-field {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}
.media-thumb {
  width: 100%;
  max-height: 170px;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-strong);
}
.media-replace-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.code-block {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--code-bg);
  color: var(--code-ink);
  padding: 12px;
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 980px) {
  .app-shell {
    grid-template-columns: minmax(0, 1fr);
    overflow-x: hidden;
  }
  .auth-shell { display: block; }
  .auth-layout { grid-template-columns: 1fr; align-items: stretch; padding-top: 28px; }
  .auth-copy h1 { font-size: 36px; }
  .sidebar {
    position: static;
    height: auto;
    padding: 14px 16px;
    min-width: 0;
    max-width: 100vw;
    overflow: hidden;
  }
  .brand { margin-bottom: 12px; }
  .nav-list {
    display: flex;
    gap: 8px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 2px;
  }
  .nav-item {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .main {
    width: 100%;
    overflow-x: hidden;
  }
  .grid { grid-template-columns: 1fr; }
  .generate-action-row { align-items: stretch; flex-direction: column; }
  .form-grid, .steps, .metric-grid, .preview-cards, .trial-grid, .domain-controls, .dns-steps.compact, .style-grid { grid-template-columns: 1fr; }
  .topbar { align-items: flex-start; flex-direction: column; }
  .workbench-topbar {
    align-items: center;
    flex-direction: row;
  }
  .site-card-grid { grid-template-columns: 1fr; }
  .sites-catalog-head { align-items: flex-start; }
}

@media (max-width: 620px) {
  .sites-catalog-head { flex-direction: column; gap: 14px; }
  .sites-catalog-head .button { width: 100%; }
  .site-card { min-height: 0; }
  .site-card-dates { grid-template-columns: 1fr; }
  .site-card .project-card-actions { align-items: stretch; }
  .site-card .project-card-actions .button { flex: 1 1 100%; }
  .site-card .icon-button { margin-left: 0; min-width: 44px; min-height: 44px; }
}

.tenant-fidelity-site {
  min-height: 100vh;
  max-width: 100%;
  overflow-x: clip;
  background: var(--tenant-bg);
  font-family: var(--tenant-font);
}
.tenant-fidelity-main,
.tenant-fidelity-page {
  max-width: 100%;
  overflow-x: clip;
}
.tenant-fidelity-page {
  padding-top: var(--fid-page-desktop-padding-top, 0px);
}
.tenant-fidelity-node[data-fidelity-content-visibility="auto"] {
  content-visibility: auto;
  contain-intrinsic-size: auto var(--fid-desktop-intrinsic-block-size, var(--fid-desktop-measured-height, 1px));
}
/* Page assembly can reconstruct source selector wrappers without their own
   component payload. When source geometry proves that such a wrapper reserves
   an absolute chrome sibling, retain that flow band at every breakpoint. */
.tenant-fidelity-synthetic-reserved-flow {
  position: relative;
  padding-top: var(--fid-reserved-desktop-top, 0px);
}
.tenant-fidelity-node,
.tenant-fidelity-responsive-chrome-layout {
  /* Captured values are carried by custom properties, which inherit by
     default even when the real paint property does not. Own the neutral
     transport/paint baseline on every node so a translated carousel track
     cannot move or fade its descendants through variable inheritance. */
  --fid-desktop-transform: none;
  --fid-desktop-opacity: 1;
  --fid-desktop-filter: none;
  --fid-desktop-backdrop-filter: none;
  max-width: 100%;
  min-width: 0;
  box-sizing: var(--fid-desktop-box-sizing, border-box);
  display: var(--fid-desktop-display);
  position: var(--fid-desktop-position);
  z-index: var(--fid-desktop-z-index);
  top: var(--fid-desktop-top);
  right: var(--fid-desktop-right);
  bottom: var(--fid-desktop-bottom);
  left: var(--fid-desktop-left);
  flex: var(--fid-desktop-flex);
  flex-direction: var(--fid-desktop-flex-direction);
  flex-wrap: var(--fid-desktop-flex-wrap);
  flex-basis: var(--fid-desktop-flex-basis);
  flex-grow: var(--fid-desktop-flex-grow);
  flex-shrink: var(--fid-desktop-flex-shrink);
  order: var(--fid-desktop-order);
  grid-template-columns: var(--fid-desktop-grid-template-columns);
  grid-template-rows: var(--fid-desktop-grid-template-rows);
  grid-template-areas: var(--fid-desktop-grid-template-areas);
  grid-column: var(--fid-desktop-grid-column);
  grid-row: var(--fid-desktop-grid-row);
  grid-area: var(--fid-desktop-grid-area);
  gap: var(--fid-desktop-gap);
  align-items: var(--fid-desktop-align-items);
  justify-content: var(--fid-desktop-justify-content);
  justify-items: var(--fid-desktop-justify-items);
  align-self: var(--fid-desktop-align-self);
  justify-self: var(--fid-desktop-justify-self);
  float: var(--fid-desktop-float);
  clear: var(--fid-desktop-clear);
  margin: var(--fid-desktop-margin);
  padding: var(--fid-desktop-padding);
  width: min(100%, var(--fid-desktop-css-width, var(--fid-desktop-width)));
  min-width: var(--fid-desktop-min-width);
  min-height: var(--fid-desktop-min-height);
  max-width: min(100%, var(--fid-desktop-max-width, 100%));
  max-height: var(--fid-desktop-max-height);
  aspect-ratio: var(--fid-desktop-aspect-ratio);
  color: var(--fid-desktop-color);
  background-color: var(--fid-desktop-background-color);
  background-image: var(--fid-desktop-background-image);
  background-size: var(--fid-desktop-background-size);
  background-position: var(--fid-desktop-background-position);
  background-repeat: var(--fid-desktop-background-repeat);
  border: var(--fid-desktop-border);
  border-top: var(--fid-desktop-border-top);
  border-right: var(--fid-desktop-border-right);
  border-bottom: var(--fid-desktop-border-bottom);
  border-left: var(--fid-desktop-border-left);
  border-radius: var(--fid-desktop-border-radius);
  box-shadow: var(--fid-desktop-box-shadow);
  transform: var(--fid-desktop-transform);
  transform-origin: var(--fid-desktop-transform-origin);
  transition: var(--fid-desktop-transition);
  transition-property: var(--fid-desktop-transition-property);
  transition-duration: var(--fid-desktop-transition-duration);
  transition-delay: var(--fid-desktop-transition-delay);
  transition-timing-function: var(--fid-desktop-transition-timing-function);
  opacity: var(--fid-desktop-opacity);
  filter: var(--fid-desktop-filter);
  backdrop-filter: var(--fid-desktop-backdrop-filter);
  visibility: var(--fid-desktop-visibility);
  object-fit: var(--fid-desktop-object-fit);
  object-position: var(--fid-desktop-object-position);
  font-family: var(--fid-desktop-font-family);
  font-size: var(--fid-desktop-font-size);
  font-weight: var(--fid-desktop-font-weight);
  line-height: var(--fid-desktop-line-height);
  letter-spacing: var(--fid-desktop-letter-spacing);
  text-align: var(--fid-desktop-text-align);
  text-indent: var(--fid-desktop-text-indent);
  text-transform: var(--fid-desktop-text-transform);
  text-decoration: var(--fid-desktop-text-decoration);
  accent-color: var(--fid-desktop-accent-color, var(--tenant-secondary, currentColor));
  white-space: var(--fid-desktop-white-space);
  word-break: var(--fid-desktop-word-break);
  overflow: var(--fid-desktop-overflow);
  overflow-x: var(--fid-desktop-overflow-x);
  overflow-y: var(--fid-desktop-overflow-y);
  overflow-wrap: var(--fid-desktop-overflow-wrap);
  text-overflow: var(--fid-desktop-text-overflow);
  list-style-type: var(--fid-desktop-list-style-type);
  list-style-position: var(--fid-desktop-list-style-position);
  list-style-image: var(--fid-desktop-list-style-image);
  border-collapse: var(--fid-desktop-border-collapse);
  border-spacing: var(--fid-desktop-border-spacing);
  table-layout: var(--fid-desktop-table-layout);
  caption-side: var(--fid-desktop-caption-side);
  empty-cells: var(--fid-desktop-empty-cells);
  vertical-align: var(--fid-desktop-vertical-align);
}
#source-structure [data-fidelity-contained-pixel-width="true"]:not([data-fidelity-authored-width="true"]) {
  width: var(--fid-desktop-css-width, var(--fid-desktop-width));
}
/* Responsive replacement branches are physical DOM alternatives. Source
   styles may assign display directly to their structural classes, so branch
   gating needs a stronger generic selector than those source rules. */
@media (min-width: 1025px) {
  #source-structure [data-fidelity-centered-chrome-brand~="desktop"] {
    position: absolute;
    left: 50%;
    right: auto;
    translate: -50% 0;
  }
}
@media (min-width: 901px) {
  #source-structure [data-fidelity-hide-desktop="true"] {
    display: none;
  }
}
@media (min-width: 521px) and (max-width: 900px) {
  #source-structure [data-fidelity-hide-tablet="true"] {
    display: none;
  }
}
@media (max-width: 520px) {
  #source-structure [data-fidelity-hide-mobile="true"] {
    display: none;
  }
}
/* Semantic header/footer nodes are laid out by the captured source stylesheet.
   They keep only scanner-owned responsive state here.  In particular, do not
   consume inherited --fid-* geometry from a chrome ancestor: custom
   properties inherit, while layout values such as width and float do not. */
:where([data-tenant-project][data-blueprint-page] #source-structure) .tenant-fidelity-responsive-chrome {
  display: var(--fid-desktop-display, revert);
  visibility: var(--fid-desktop-visibility, revert);
}
#source-structure .tenant-fidelity-responsive-chrome:is(.tenant-fidelity-img, .tenant-fidelity-svg) {
  filter: var(--fid-desktop-filter, none);
}
/* A root chrome surface observed as viewport-wide at every captured breakpoint
   remains viewport-wide beyond the capture widths too. The marker is emitted
   from geometry evidence, so this corrects source fixed-width/inset CSS for
   any generated site without relying on source ids or per-site selectors. */
#source-structure .tenant-fidelity-responsive-chrome.tenant-fidelity-viewport-chrome-root {
  left: 0;
  right: 0;
  width: 100%;
  max-width: none;
}
/* Component CSS can contain a full source-style selector and is loaded after
   the app stylesheet. The rendered source root supplies a stable scope with
   enough specificity to preserve a scanner-captured ancestor canvas without
   relying on priority overrides or any site selector. */
#source-structure .tenant-fidelity-node[data-fidelity-ancestor-backdrop="true"],
#source-structure .tenant-fidelity-responsive-chrome[data-fidelity-ancestor-backdrop="true"] {
  background-color: var(--fid-desktop-background-color);
  background-image: var(--fid-desktop-background-image, none);
  background-size: var(--fid-desktop-background-size, auto);
  background-position: var(--fid-desktop-background-position, 0% 0%);
  background-repeat: var(--fid-desktop-background-repeat, repeat);
}
/* Canonical media edits must outrank the captured source stylesheet without
   priority flags. The renderer marks only nodes whose authored background was
   actually replaced, so untouched source paint continues to be stylesheet-
   driven while edited logos, photos and decorative media use scanner data. */
#source-structure [data-fidelity-canonical-background="true"] {
  background-image: var(--fid-desktop-background-image, none);
  background-size: var(--fid-desktop-background-size, auto);
  background-position: var(--fid-desktop-background-position, 0% 0%);
  background-repeat: var(--fid-desktop-background-repeat, repeat);
}
/* Footer copy and navigation are editable responsive flow content. A captured
   fixed height is only one viewport's output and must never clip or detach the
   footer background when that content wraps at another width. */
#source-structure [data-fidelity-footer-flow="true"] {
  display: flow-root;
  height: auto;
  max-height: none;
  overflow: visible;
}
.tenant-fidelity-responsive-chrome-flow-layout {
  /* Computed flow heights are outputs, not authored constraints. Let static
     chrome expand when an opened descendant changes the document flow. */
  height: auto;
  min-height: 0;
  max-height: none;
}
.tenant-fidelity-node[data-fidelity-overflow-track="true"] {
  max-width: none;
  width: var(--fid-desktop-css-width, var(--fid-desktop-width));
}

/* Source stylesheets can own a more specific font-family rule than the
   generic fidelity node. The inline property consumes this responsive
   variable only when canonical text needs a script-compatible fallback. */
[data-fidelity-script-compatible-font="true"] {
  --tenant-script-compatible-font-family: var(--fid-desktop-font-family);
}
.tenant-fidelity-boxed {
  min-height: var(--fid-desktop-min-height);
}
.tenant-fidelity-node[data-fidelity-runtime-overlay="true"] {
  position: fixed;
  max-width: none;
  isolation: isolate;
  pointer-events: auto;
}
#source-structure [data-fidelity-negative-stack-media="true"] {
  isolation: isolate;
}
.tenant-fidelity-has-before::before {
  content: var(--fid-desktop-before-content, attr(data-pseudo-before));
  display: var(--fid-desktop-before-display, inline);
  clear: var(--fid-desktop-before-clear, none);
  position: var(--fid-desktop-before-position, static);
  z-index: var(--fid-desktop-before-z-index, auto);
  inset: var(--fid-desktop-before-top, auto) var(--fid-desktop-before-right, auto) var(--fid-desktop-before-bottom, auto) var(--fid-desktop-before-left, auto);
  margin: var(--fid-desktop-before-margin, 0);
  padding: var(--fid-desktop-before-padding, 0);
  color: var(--fid-desktop-before-color, currentColor);
  background-color: var(--fid-desktop-before-background-color, transparent);
  background-image: var(--fid-desktop-before-background-image, none);
  background-size: var(--fid-desktop-before-background-size, auto);
  background-position: var(--fid-desktop-before-background-position, 0% 0%);
  background-repeat: var(--fid-desktop-before-background-repeat, repeat);
  width: var(--fid-desktop-before-width, auto);
  height: var(--fid-desktop-before-height, auto);
  min-width: var(--fid-desktop-before-min-width, 0);
  min-height: var(--fid-desktop-before-min-height, 0);
  max-width: var(--fid-desktop-before-max-width, none);
  max-height: var(--fid-desktop-before-max-height, none);
  border: var(--fid-desktop-before-border, 0 solid transparent);
  border-radius: var(--fid-desktop-before-border-radius, 0);
  box-shadow: var(--fid-desktop-before-box-shadow, none);
  clip-path: var(--fid-desktop-before-clip-path, none);
  transform: var(--fid-desktop-before-transform, none);
  transform-origin: var(--fid-desktop-before-transform-origin, center);
  opacity: var(--fid-desktop-before-opacity, 1);
  filter: var(--fid-desktop-before-filter, none);
  font-family: var(--fid-desktop-before-font-family, inherit);
  font-size: var(--fid-desktop-before-font-size, inherit);
  font-weight: var(--fid-desktop-before-font-weight, inherit);
  line-height: var(--fid-desktop-before-line-height, inherit);
  box-sizing: border-box;
}
.tenant-fidelity-has-after::after {
  content: var(--fid-desktop-after-content, attr(data-pseudo-after));
  display: var(--fid-desktop-after-display, inline);
  clear: var(--fid-desktop-after-clear, none);
  position: var(--fid-desktop-after-position, static);
  z-index: var(--fid-desktop-after-z-index, auto);
  inset: var(--fid-desktop-after-top, auto) var(--fid-desktop-after-right, auto) var(--fid-desktop-after-bottom, auto) var(--fid-desktop-after-left, auto);
  margin: var(--fid-desktop-after-margin, 0);
  padding: var(--fid-desktop-after-padding, 0);
  color: var(--fid-desktop-after-color, currentColor);
  background-color: var(--fid-desktop-after-background-color, transparent);
  background-image: var(--fid-desktop-after-background-image, none);
  background-size: var(--fid-desktop-after-background-size, auto);
  background-position: var(--fid-desktop-after-background-position, 0% 0%);
  background-repeat: var(--fid-desktop-after-background-repeat, repeat);
  width: var(--fid-desktop-after-width, auto);
  height: var(--fid-desktop-after-height, auto);
  min-width: var(--fid-desktop-after-min-width, 0);
  min-height: var(--fid-desktop-after-min-height, 0);
  max-width: var(--fid-desktop-after-max-width, none);
  max-height: var(--fid-desktop-after-max-height, none);
  border: var(--fid-desktop-after-border, 0 solid transparent);
  border-radius: var(--fid-desktop-after-border-radius, 0);
  box-shadow: var(--fid-desktop-after-box-shadow, none);
  clip-path: var(--fid-desktop-after-clip-path, none);
  transform: var(--fid-desktop-after-transform, none);
  transform-origin: var(--fid-desktop-after-transform-origin, center);
  opacity: var(--fid-desktop-after-opacity, 1);
  filter: var(--fid-desktop-after-filter, none);
  font-family: var(--fid-desktop-after-font-family, inherit);
  font-size: var(--fid-desktop-after-font-size, inherit);
  font-weight: var(--fid-desktop-after-font-weight, inherit);
  line-height: var(--fid-desktop-after-line-height, inherit);
  box-sizing: border-box;
}
.tenant-fidelity-node[data-fidelity-backdrop="true"]::backdrop {
  background-color: var(--fid-desktop-backdrop-background-color);
  background-image: var(--fid-desktop-backdrop-background-image);
  background-size: var(--fid-desktop-backdrop-background-size);
  background-position: var(--fid-desktop-backdrop-background-position);
  background-repeat: var(--fid-desktop-backdrop-background-repeat);
  backdrop-filter: var(--fid-desktop-backdrop-backdrop-filter);
  filter: var(--fid-desktop-backdrop-filter);
  opacity: var(--fid-desktop-backdrop-opacity);
  transition: var(--fid-desktop-backdrop-transition);
  transition-property: var(--fid-desktop-backdrop-transition-property);
  transition-duration: var(--fid-desktop-backdrop-transition-duration);
  transition-delay: var(--fid-desktop-backdrop-transition-delay);
  transition-timing-function: var(--fid-desktop-backdrop-transition-timing-function);
}
.tenant-fidelity-a {
  color: inherit;
}
.tenant-fidelity-button {
  cursor: pointer;
}
.tenant-fidelity-nowrap-control {
  white-space: nowrap;
}
.tenant-fidelity-site-chrome-nowrap {
  white-space: nowrap;
  overflow: visible;
}
#source-structure
  .tenant-fidelity-responsive-chrome.tenant-fidelity-navigation-item-growth {
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
}
#source-structure
  .tenant-fidelity-responsive-chrome.tenant-fidelity-selected-disclosure-label {
  visibility: visible;
}
#source-structure
  .tenant-fidelity-responsive-chrome.tenant-fidelity-canonical-single-line-leaf {
  width: max-content;
  min-width: max-content;
  max-width: none;
  white-space: nowrap;
  overflow: visible;
}
.tenant-fidelity-manual-text-growth {
  /* Manual content keeps the captured inline boundary and grows only in flow. */
  min-width: 0;
  max-width: 100%;
  height: auto;
  min-height: 0;
  white-space: normal;
  overflow: visible;
  overflow-wrap: break-word;
}
.tenant-fidelity-manual-text-growth[data-fidelity-desktop-single-line="true"],
.tenant-fidelity-manual-text-growth[data-fidelity-tablet-single-line="true"],
.tenant-fidelity-manual-text-growth[data-fidelity-mobile-single-line="true"] {
  min-width: 0;
  white-space: normal;
}

@media (min-width: 1024px) {
  #source-structure [data-fidelity-desktop-single-line="true"] {
    white-space: var(--fid-desktop-white-space, normal);
  }
  [data-tenant-project][data-blueprint-page] [data-fidelity-desktop-inline-gap="true"][data-source-selector] {
    margin: var(--fid-desktop-margin);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  #source-structure [data-fidelity-tablet-single-line="true"] {
    white-space: var(--fid-tablet-white-space, normal);
  }
  [data-tenant-project][data-blueprint-page] [data-fidelity-tablet-inline-gap="true"][data-source-selector] {
    margin: var(--fid-tablet-margin);
  }
}

@media (max-width: 767px) {
  #source-structure [data-fidelity-mobile-single-line="true"] {
    white-space: var(--fid-mobile-white-space, normal);
  }
  [data-tenant-project][data-blueprint-page] [data-fidelity-mobile-inline-gap="true"][data-source-selector] {
    margin: var(--fid-mobile-margin);
  }
  /* Footer flow links can be long keyword phrases. They are content, not a
     fixed control, so a narrow viewport must wrap them inside the captured
     footer envelope instead of extending the document horizontally. */
  #source-structure footer .tenant-fidelity-responsive-chrome-flow-layout > a {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
:where(#source-structure) .tenant-fidelity-height-fit {
  height: var(--fid-desktop-height);
  overflow: var(--fid-desktop-overflow, hidden);
  overflow-x: var(--fid-desktop-overflow-x, visible);
  overflow-y: var(--fid-desktop-overflow-y, visible);
}
:where(#source-structure) .tenant-fidelity-height-fit[data-fidelity-node-visible-overflow="true"] {
  overflow: visible;
}
#source-structure [data-fidelity-negative-stack-scroll-clip="true"] {
  overflow-y: clip;
}
.tenant-fidelity-text-fit {
  height: auto;
  min-height: 0;
}
.tenant-fidelity-inline-fragment-fit {
  display: inline-block;
  width: var(--fid-desktop-width);
  min-height: var(--fid-desktop-measured-height);
  max-width: 100%;
  vertical-align: var(--fid-desktop-vertical-align, baseline);
}
.tenant-fidelity-node[hidden] {
  display: none;
}

@media (min-width: 1025px) {
  #source-structure [data-fidelity-desktop-visually-hidden="true"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

@media (min-width: 641px) and (max-width: 1024px) {
  #source-structure [data-fidelity-tablet-visually-hidden="true"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

@media (max-width: 640px) {
  #source-structure [data-fidelity-mobile-visually-hidden="true"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
.tenant-fidelity-lightbox[hidden] {
  display: none;
}
.tenant-fidelity-node[data-has-state-style="true"]:hover {
  color: var(--fid-hover-color);
  background-color: var(--fid-hover-background-color);
  border: var(--fid-hover-border);
  border-radius: var(--fid-hover-border-radius);
  box-shadow: var(--fid-hover-box-shadow);
  transform: var(--fid-hover-transform);
  opacity: var(--fid-hover-opacity);
  filter: var(--fid-hover-filter);
  text-decoration: var(--fid-hover-text-decoration);
}
.tenant-fidelity-node[data-has-state-style="true"]:focus,
.tenant-fidelity-node[data-has-state-style="true"]:focus-visible {
  color: var(--fid-focus-color);
  background-color: var(--fid-focus-background-color);
  border: var(--fid-focus-border);
  border-radius: var(--fid-focus-border-radius);
  box-shadow: var(--fid-focus-box-shadow);
  transform: var(--fid-focus-transform);
  opacity: var(--fid-focus-opacity);
  filter: var(--fid-focus-filter);
  text-decoration: var(--fid-focus-text-decoration);
}
.tenant-fidelity-node[data-has-state-style="true"]:active {
  color: var(--fid-active-color);
  background-color: var(--fid-active-background-color);
  border: var(--fid-active-border);
  border-radius: var(--fid-active-border-radius);
  box-shadow: var(--fid-active-box-shadow);
  transform: var(--fid-active-transform);
  opacity: var(--fid-active-opacity);
  filter: var(--fid-active-filter);
  text-decoration: var(--fid-active-text-decoration);
}
.tenant-fidelity-img {
  /* Replaced media can be inline in the source (for example inside chrome
     logo anchors). Honor the captured responsive display variable instead of
     imposing a global block layout. */
  display: var(--fid-desktop-display, block);
  height: auto;
  object-fit: cover;
}
.tenant-fidelity-iframe,
.tenant-fidelity-object,
.tenant-fidelity-embed,
.tenant-fidelity-video,
.tenant-fidelity-audio,
.tenant-fidelity-canvas,
.tenant-fidelity-progress,
.tenant-fidelity-meter,
.tenant-fidelity-svg {
  width: var(--fid-desktop-css-width, var(--fid-desktop-width));
  max-width: 100%;
  height: var(--fid-desktop-height);
}
.tenant-fidelity-disclosure summary {
  cursor: pointer;
  font-weight: 800;
}
.tenant-fidelity-details:not([open]) > :not(summary),
.tenant-fidelity-details:not([open]) > .tenant-fidelity-disclosure-panel {
  display: none;
}
.tenant-fidelity-disclosure-panel {
  margin-top: 12px;
}
.tenant-fidelity-dialog {
  width: min(100%, var(--fid-desktop-width, 640px));
  max-width: min(96vw, var(--fid-desktop-max-width, 640px));
  border: 1px solid rgba(23, 33, 29, 0.18);
}
.tenant-fidelity-slider {
  display: grid;
  gap: 12px;
  overflow: hidden;
}
.tenant-fidelity-slider-track {
  min-width: 0;
}
.tenant-fidelity-slide[hidden] {
  display: none;
}
.tenant-fidelity-slide {
  min-width: 0;
}
.tenant-fidelity-slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.tenant-fidelity-slider-button,
.tenant-fidelity-slider-dot {
  border: 1px solid rgba(23, 33, 29, 0.18);
  background: rgba(255, 255, 255, 0.72);
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.tenant-fidelity-slider-button {
  min-width: 36px;
  min-height: 36px;
  border-radius: 999px;
}
.tenant-fidelity-slider-dots {
  display: flex;
  align-items: center;
  gap: 7px;
}
.tenant-fidelity-slider-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  padding: 0;
}
.tenant-fidelity-slider-dot[aria-selected="true"] {
  background: currentColor;
}
.tenant-fidelity-menu {
  display: flex;
  flex-wrap: wrap;
  gap: inherit;
}
.tenant-fidelity-menu-icon-fallback {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  color: inherit;
}
.tenant-fidelity-menu-icon-bar {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
}
.hamburger-component .ham-icon svg,
.hamburger-component .ham-icon svg path {
  fill: currentColor;
  stroke: currentColor;
}
.tenant-fidelity-form {
  display: grid;
  gap: 12px;
}
.tenant-fidelity-form label {
  display: grid;
  gap: 6px;
}
.tenant-fidelity-form input,
.tenant-fidelity-form textarea {
  width: 100%;
  border: 1px solid rgba(23, 33, 29, 0.18);
  border-radius: 8px;
  padding: 10px 12px;
  font: inherit;
}
.tenant-fidelity-form-status {
  min-height: 22px;
  font-size: 0.92rem;
  color: rgba(23, 33, 29, 0.72);
}
.tenant-fidelity-form-status[data-state="success"] {
  color: #15803d;
}
.tenant-fidelity-form-status[data-state="error"] {
  color: #b91c1c;
}
.tenant-fidelity-tabs {
  display: grid;
  gap: 14px;
}
.tenant-fidelity-tabs-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tenant-fidelity-tab-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.tenant-fidelity-tab-label {
  border: 1px solid color-mix(in srgb, var(--tenant-primary) 32%, transparent);
  border-radius: 999px;
  padding: 8px 14px;
  cursor: pointer;
}
.tenant-fidelity-tabs-panels {
  display: grid;
}
.tenant-fidelity-tab-panel {
  display: none;
}
.tenant-fidelity-tabs:has(.tenant-fidelity-tab-input:nth-of-type(1):checked) .tenant-fidelity-tab-panel[data-tab-index="0"],
.tenant-fidelity-tabs:has(.tenant-fidelity-tab-input:nth-of-type(2):checked) .tenant-fidelity-tab-panel[data-tab-index="1"],
.tenant-fidelity-tabs:has(.tenant-fidelity-tab-input:nth-of-type(3):checked) .tenant-fidelity-tab-panel[data-tab-index="2"],
.tenant-fidelity-tabs:has(.tenant-fidelity-tab-input:nth-of-type(4):checked) .tenant-fidelity-tab-panel[data-tab-index="3"],
.tenant-fidelity-tabs:has(.tenant-fidelity-tab-input:nth-of-type(5):checked) .tenant-fidelity-tab-panel[data-tab-index="4"],
.tenant-fidelity-tabs:has(.tenant-fidelity-tab-input:nth-of-type(6):checked) .tenant-fidelity-tab-panel[data-tab-index="5"] {
  display: block;
}
@media (max-width: 900px) {
  [data-fidelity-script-compatible-font="true"] {
    --tenant-script-compatible-font-family: var(--fid-tablet-font-family, var(--fid-desktop-font-family));
  }
  #source-structure [data-fidelity-canonical-background="true"] {
    background-image: var(--fid-tablet-background-image, var(--fid-desktop-background-image, none));
    background-size: var(--fid-tablet-background-size, var(--fid-desktop-background-size, auto));
    background-position: var(--fid-tablet-background-position, var(--fid-desktop-background-position, 0% 0%));
    background-repeat: var(--fid-tablet-background-repeat, var(--fid-desktop-background-repeat, repeat));
  }
  .tenant-fidelity-node[data-fidelity-backdrop="true"]::backdrop {
    background-color: var(--fid-tablet-backdrop-background-color, var(--fid-desktop-backdrop-background-color));
    background-image: var(--fid-tablet-backdrop-background-image, var(--fid-desktop-backdrop-background-image));
    background-size: var(--fid-tablet-backdrop-background-size, var(--fid-desktop-backdrop-background-size));
    background-position: var(--fid-tablet-backdrop-background-position, var(--fid-desktop-backdrop-background-position));
    background-repeat: var(--fid-tablet-backdrop-background-repeat, var(--fid-desktop-backdrop-background-repeat));
    backdrop-filter: var(--fid-tablet-backdrop-backdrop-filter, var(--fid-desktop-backdrop-backdrop-filter));
    filter: var(--fid-tablet-backdrop-filter, var(--fid-desktop-backdrop-filter));
    opacity: var(--fid-tablet-backdrop-opacity, var(--fid-desktop-backdrop-opacity));
    transition: var(--fid-tablet-backdrop-transition, var(--fid-desktop-backdrop-transition));
    transition-property: var(--fid-tablet-backdrop-transition-property, var(--fid-desktop-backdrop-transition-property));
    transition-duration: var(--fid-tablet-backdrop-transition-duration, var(--fid-desktop-backdrop-transition-duration));
    transition-delay: var(--fid-tablet-backdrop-transition-delay, var(--fid-desktop-backdrop-transition-delay));
    transition-timing-function: var(--fid-tablet-backdrop-transition-timing-function, var(--fid-desktop-backdrop-transition-timing-function));
  }
  /* Generated fidelity classes declare only breakpoint deltas. These aliases
     provide the inherited desktop contract when a tablet value is absent. */
  .tenant-fidelity-node,
  .tenant-fidelity-responsive-chrome-layout {
    --fid-tablet-display: var(--fid-desktop-display); --fid-tablet-position: var(--fid-desktop-position); --fid-tablet-z-index: var(--fid-desktop-z-index); --fid-tablet-top: var(--fid-desktop-top); --fid-tablet-right: var(--fid-desktop-right); --fid-tablet-bottom: var(--fid-desktop-bottom); --fid-tablet-left: var(--fid-desktop-left);
    --fid-tablet-flex: var(--fid-desktop-flex); --fid-tablet-flex-direction: var(--fid-desktop-flex-direction); --fid-tablet-flex-wrap: var(--fid-desktop-flex-wrap); --fid-tablet-flex-basis: var(--fid-desktop-flex-basis); --fid-tablet-flex-grow: var(--fid-desktop-flex-grow); --fid-tablet-flex-shrink: var(--fid-desktop-flex-shrink); --fid-tablet-order: var(--fid-desktop-order);
    --fid-tablet-grid-template-columns: var(--fid-desktop-grid-template-columns); --fid-tablet-grid-template-rows: var(--fid-desktop-grid-template-rows); --fid-tablet-grid-template-areas: var(--fid-desktop-grid-template-areas); --fid-tablet-grid-column: var(--fid-desktop-grid-column); --fid-tablet-grid-row: var(--fid-desktop-grid-row); --fid-tablet-grid-area: var(--fid-desktop-grid-area); --fid-tablet-gap: var(--fid-desktop-gap);
    --fid-tablet-align-items: var(--fid-desktop-align-items); --fid-tablet-justify-content: var(--fid-desktop-justify-content); --fid-tablet-justify-items: var(--fid-desktop-justify-items); --fid-tablet-align-self: var(--fid-desktop-align-self); --fid-tablet-justify-self: var(--fid-desktop-justify-self); --fid-tablet-float: var(--fid-desktop-float); --fid-tablet-clear: var(--fid-desktop-clear);
    --fid-tablet-margin: var(--fid-desktop-margin); --fid-tablet-padding: var(--fid-desktop-padding); --fid-tablet-css-width: var(--fid-desktop-css-width); --fid-tablet-width: var(--fid-desktop-width); --fid-tablet-min-width: var(--fid-desktop-min-width); --fid-tablet-height: var(--fid-desktop-height); --fid-tablet-measured-height: var(--fid-desktop-measured-height); --fid-tablet-min-height: var(--fid-desktop-min-height); --fid-tablet-max-width: var(--fid-desktop-max-width); --fid-tablet-max-height: var(--fid-desktop-max-height); --fid-tablet-aspect-ratio: var(--fid-desktop-aspect-ratio);
    --fid-tablet-color: var(--fid-desktop-color); --fid-tablet-background-color: var(--fid-desktop-background-color); --fid-tablet-background-image: var(--fid-desktop-background-image); --fid-tablet-background-size: var(--fid-desktop-background-size); --fid-tablet-background-position: var(--fid-desktop-background-position); --fid-tablet-background-repeat: var(--fid-desktop-background-repeat); --fid-tablet-border: var(--fid-desktop-border); --fid-tablet-border-top: var(--fid-desktop-border-top); --fid-tablet-border-right: var(--fid-desktop-border-right); --fid-tablet-border-bottom: var(--fid-desktop-border-bottom); --fid-tablet-border-left: var(--fid-desktop-border-left); --fid-tablet-border-radius: var(--fid-desktop-border-radius); --fid-tablet-box-shadow: var(--fid-desktop-box-shadow);
    --fid-tablet-transform: var(--fid-desktop-transform); --fid-tablet-transform-origin: var(--fid-desktop-transform-origin); --fid-tablet-transition: var(--fid-desktop-transition); --fid-tablet-transition-property: var(--fid-desktop-transition-property); --fid-tablet-transition-duration: var(--fid-desktop-transition-duration); --fid-tablet-transition-delay: var(--fid-desktop-transition-delay); --fid-tablet-transition-timing-function: var(--fid-desktop-transition-timing-function); --fid-tablet-opacity: var(--fid-desktop-opacity); --fid-tablet-filter: var(--fid-desktop-filter); --fid-tablet-backdrop-filter: var(--fid-desktop-backdrop-filter); --fid-tablet-visibility: var(--fid-desktop-visibility); --fid-tablet-object-fit: var(--fid-desktop-object-fit); --fid-tablet-object-position: var(--fid-desktop-object-position);
    --fid-tablet-font-family: var(--fid-desktop-font-family); --fid-tablet-font-size: var(--fid-desktop-font-size); --fid-tablet-font-weight: var(--fid-desktop-font-weight); --fid-tablet-line-height: var(--fid-desktop-line-height); --fid-tablet-letter-spacing: var(--fid-desktop-letter-spacing); --fid-tablet-text-align: var(--fid-desktop-text-align); --fid-tablet-text-indent: var(--fid-desktop-text-indent); --fid-tablet-text-transform: var(--fid-desktop-text-transform); --fid-tablet-text-decoration: var(--fid-desktop-text-decoration); --fid-tablet-accent-color: var(--fid-desktop-accent-color); --fid-tablet-white-space: var(--fid-desktop-white-space); --fid-tablet-word-break: var(--fid-desktop-word-break); --fid-tablet-overflow: var(--fid-desktop-overflow); --fid-tablet-overflow-x: var(--fid-desktop-overflow-x); --fid-tablet-overflow-y: var(--fid-desktop-overflow-y); --fid-tablet-overflow-wrap: var(--fid-desktop-overflow-wrap); --fid-tablet-text-overflow: var(--fid-desktop-text-overflow); --fid-tablet-list-style-type: var(--fid-desktop-list-style-type); --fid-tablet-list-style-position: var(--fid-desktop-list-style-position); --fid-tablet-list-style-image: var(--fid-desktop-list-style-image); --fid-tablet-border-collapse: var(--fid-desktop-border-collapse); --fid-tablet-border-spacing: var(--fid-desktop-border-spacing); --fid-tablet-table-layout: var(--fid-desktop-table-layout); --fid-tablet-caption-side: var(--fid-desktop-caption-side); --fid-tablet-empty-cells: var(--fid-desktop-empty-cells); --fid-tablet-vertical-align: var(--fid-desktop-vertical-align);
  }
  :where([data-tenant-project][data-blueprint-page] #source-structure) .tenant-fidelity-responsive-chrome { display: var(--fid-tablet-display, var(--fid-desktop-display, revert)); visibility: var(--fid-tablet-visibility, var(--fid-desktop-visibility, revert)); }
  #source-structure .tenant-fidelity-responsive-chrome:is(.tenant-fidelity-img, .tenant-fidelity-svg) { filter: var(--fid-tablet-filter, var(--fid-desktop-filter, none)); }
  .tenant-fidelity-page {
    padding-top: var(--fid-page-tablet-padding-top, var(--fid-page-desktop-padding-top, 0px));
  }
  .tenant-fidelity-node[data-fidelity-content-visibility="auto"] {
    contain-intrinsic-size: auto var(--fid-tablet-intrinsic-block-size, var(--fid-tablet-measured-height, var(--fid-desktop-intrinsic-block-size, 1px)));
  }
  .tenant-fidelity-node,
  .tenant-fidelity-responsive-chrome-layout {
    display: var(--fid-tablet-display);
    position: var(--fid-tablet-position);
    z-index: var(--fid-tablet-z-index);
    top: var(--fid-tablet-top);
    right: var(--fid-tablet-right);
    bottom: var(--fid-tablet-bottom);
    left: var(--fid-tablet-left);
    flex: var(--fid-tablet-flex);
    flex-direction: var(--fid-tablet-flex-direction);
    flex-wrap: var(--fid-tablet-flex-wrap);
    flex-basis: var(--fid-tablet-flex-basis);
    flex-grow: var(--fid-tablet-flex-grow);
    flex-shrink: var(--fid-tablet-flex-shrink);
    order: var(--fid-tablet-order);
    grid-template-columns: var(--fid-tablet-grid-template-columns);
    grid-template-rows: var(--fid-tablet-grid-template-rows);
    grid-template-areas: var(--fid-tablet-grid-template-areas);
    grid-column: var(--fid-tablet-grid-column);
    grid-row: var(--fid-tablet-grid-row);
    grid-area: var(--fid-tablet-grid-area);
    gap: var(--fid-tablet-gap);
    align-items: var(--fid-tablet-align-items);
    justify-content: var(--fid-tablet-justify-content);
    justify-items: var(--fid-tablet-justify-items);
    align-self: var(--fid-tablet-align-self);
    justify-self: var(--fid-tablet-justify-self);
    float: var(--fid-tablet-float);
    clear: var(--fid-tablet-clear);
    box-sizing: var(--fid-tablet-box-sizing, var(--fid-desktop-box-sizing, border-box));
    margin: var(--fid-tablet-margin);
    padding: var(--fid-tablet-padding);
    width: min(100%, var(--fid-tablet-css-width, var(--fid-tablet-width)));
    min-width: var(--fid-tablet-min-width);
    min-height: var(--fid-tablet-min-height);
    max-width: min(100%, var(--fid-tablet-max-width, 100%));
    max-height: var(--fid-tablet-max-height);
    aspect-ratio: var(--fid-tablet-aspect-ratio);
    color: var(--fid-tablet-color);
    background-color: var(--fid-tablet-background-color);
    background-image: var(--fid-tablet-background-image);
    background-size: var(--fid-tablet-background-size);
    background-position: var(--fid-tablet-background-position);
    background-repeat: var(--fid-tablet-background-repeat);
    border: var(--fid-tablet-border);
    border-top: var(--fid-tablet-border-top);
    border-right: var(--fid-tablet-border-right);
    border-bottom: var(--fid-tablet-border-bottom);
    border-left: var(--fid-tablet-border-left);
    border-radius: var(--fid-tablet-border-radius);
    box-shadow: var(--fid-tablet-box-shadow);
    transform: var(--fid-tablet-transform);
    transform-origin: var(--fid-tablet-transform-origin);
    transition: var(--fid-tablet-transition);
    transition-property: var(--fid-tablet-transition-property);
    transition-duration: var(--fid-tablet-transition-duration);
    transition-delay: var(--fid-tablet-transition-delay);
    transition-timing-function: var(--fid-tablet-transition-timing-function);
    opacity: var(--fid-tablet-opacity);
    filter: var(--fid-tablet-filter);
    backdrop-filter: var(--fid-tablet-backdrop-filter);
    visibility: var(--fid-tablet-visibility);
    object-fit: var(--fid-tablet-object-fit);
    object-position: var(--fid-tablet-object-position);
    font-family: var(--fid-tablet-font-family);
    font-size: var(--fid-tablet-font-size);
    font-weight: var(--fid-tablet-font-weight);
    line-height: var(--fid-tablet-line-height);
    letter-spacing: var(--fid-tablet-letter-spacing);
    text-align: var(--fid-tablet-text-align);
    text-indent: var(--fid-tablet-text-indent);
    text-transform: var(--fid-tablet-text-transform);
    text-decoration: var(--fid-tablet-text-decoration);
    accent-color: var(--fid-tablet-accent-color, var(--tenant-secondary, currentColor));
    white-space: var(--fid-tablet-white-space);
    word-break: var(--fid-tablet-word-break);
    overflow: var(--fid-tablet-overflow);
    overflow-x: var(--fid-tablet-overflow-x);
    overflow-y: var(--fid-tablet-overflow-y);
    overflow-wrap: var(--fid-tablet-overflow-wrap);
    text-overflow: var(--fid-tablet-text-overflow);
    list-style-type: var(--fid-tablet-list-style-type);
    list-style-position: var(--fid-tablet-list-style-position);
    list-style-image: var(--fid-tablet-list-style-image);
    border-collapse: var(--fid-tablet-border-collapse);
    border-spacing: var(--fid-tablet-border-spacing);
    table-layout: var(--fid-tablet-table-layout);
    caption-side: var(--fid-tablet-caption-side);
    empty-cells: var(--fid-tablet-empty-cells);
    vertical-align: var(--fid-tablet-vertical-align);
  }
  #source-structure [data-fidelity-contained-pixel-width="true"]:not([data-fidelity-authored-width="true"]) {
    width: var(--fid-tablet-css-width, var(--fid-tablet-width, var(--fid-desktop-css-width, var(--fid-desktop-width))));
  }
  #source-structure [data-fidelity-centered-chrome-brand~="tablet"] {
    position: absolute;
    left: 50%;
    right: auto;
    translate: -50% 0;
  }
  .tenant-fidelity-node[style*="--fid-tablet-offset-left"] {
    margin-left: var(--fid-tablet-offset-left);
  }
  .tenant-fidelity-node[data-fidelity-overflow-track="true"] {
    width: var(--fid-tablet-css-width, var(--fid-tablet-width));
    max-width: none;
  }
  .tenant-fidelity-boxed {
    min-height: var(--fid-tablet-min-height);
  }
  :where(#source-structure) .tenant-fidelity-height-fit {
    height: var(--fid-tablet-height);
    overflow: var(--fid-tablet-overflow, var(--fid-desktop-overflow, hidden));
    overflow-x: var(--fid-tablet-overflow-x, visible);
    overflow-y: var(--fid-tablet-overflow-y, visible);
  }
  :where(#source-structure) .tenant-fidelity-height-fit[data-fidelity-node-visible-overflow="true"] {
    overflow: visible;
  }
  .tenant-fidelity-text-fit {
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  .tenant-fidelity-inline-fragment-fit {
    width: var(--fid-tablet-width);
    min-height: var(--fid-tablet-measured-height);
    vertical-align: var(--fid-tablet-vertical-align, baseline);
  }
  .tenant-fidelity-img,
  .tenant-fidelity-iframe,
  .tenant-fidelity-object,
  .tenant-fidelity-embed,
  .tenant-fidelity-video,
  .tenant-fidelity-audio,
  .tenant-fidelity-canvas,
  .tenant-fidelity-progress,
  .tenant-fidelity-meter,
  .tenant-fidelity-svg {
    width: var(--fid-tablet-css-width, var(--fid-tablet-width, var(--fid-desktop-css-width, var(--fid-desktop-width))));
    max-width: 100%;
    height: var(--fid-tablet-height);
  }
  .tenant-fidelity-has-before::before {
    content: var(--fid-tablet-before-content, var(--fid-desktop-before-content, attr(data-pseudo-before)));
    display: var(--fid-tablet-before-display, var(--fid-desktop-before-display, inline));
    clear: var(--fid-tablet-before-clear, var(--fid-desktop-before-clear, none));
    position: var(--fid-tablet-before-position, var(--fid-desktop-before-position, static));
    z-index: var(--fid-tablet-before-z-index, var(--fid-desktop-before-z-index, auto));
    inset: var(--fid-tablet-before-top, var(--fid-desktop-before-top, auto)) var(--fid-tablet-before-right, var(--fid-desktop-before-right, auto)) var(--fid-tablet-before-bottom, var(--fid-desktop-before-bottom, auto)) var(--fid-tablet-before-left, var(--fid-desktop-before-left, auto));
    margin: var(--fid-tablet-before-margin, var(--fid-desktop-before-margin, 0));
    padding: var(--fid-tablet-before-padding, var(--fid-desktop-before-padding, 0));
    color: var(--fid-tablet-before-color, var(--fid-desktop-before-color, currentColor));
    background-color: var(--fid-tablet-before-background-color, var(--fid-desktop-before-background-color, transparent));
    background-image: var(--fid-tablet-before-background-image, var(--fid-desktop-before-background-image, none));
    background-size: var(--fid-tablet-before-background-size, var(--fid-desktop-before-background-size, auto));
    background-position: var(--fid-tablet-before-background-position, var(--fid-desktop-before-background-position, 0% 0%));
    background-repeat: var(--fid-tablet-before-background-repeat, var(--fid-desktop-before-background-repeat, repeat));
    width: var(--fid-tablet-before-width, var(--fid-desktop-before-width, auto));
    height: var(--fid-tablet-before-height, var(--fid-desktop-before-height, auto));
    min-width: var(--fid-tablet-before-min-width, var(--fid-desktop-before-min-width, 0));
    min-height: var(--fid-tablet-before-min-height, var(--fid-desktop-before-min-height, 0));
    max-width: var(--fid-tablet-before-max-width, var(--fid-desktop-before-max-width, none));
    max-height: var(--fid-tablet-before-max-height, var(--fid-desktop-before-max-height, none));
    border: var(--fid-tablet-before-border, var(--fid-desktop-before-border, 0 solid transparent));
    border-radius: var(--fid-tablet-before-border-radius, var(--fid-desktop-before-border-radius, 0));
    box-shadow: var(--fid-tablet-before-box-shadow, var(--fid-desktop-before-box-shadow, none));
    clip-path: var(--fid-tablet-before-clip-path, var(--fid-desktop-before-clip-path, none));
    transform: var(--fid-tablet-before-transform, var(--fid-desktop-before-transform, none));
    transform-origin: var(--fid-tablet-before-transform-origin, var(--fid-desktop-before-transform-origin, center));
    opacity: var(--fid-tablet-before-opacity, var(--fid-desktop-before-opacity, 1));
    filter: var(--fid-tablet-before-filter, var(--fid-desktop-before-filter, none));
    font-family: var(--fid-tablet-before-font-family, var(--fid-desktop-before-font-family, inherit));
    font-size: var(--fid-tablet-before-font-size, var(--fid-desktop-before-font-size, inherit));
    font-weight: var(--fid-tablet-before-font-weight, var(--fid-desktop-before-font-weight, inherit));
    line-height: var(--fid-tablet-before-line-height, var(--fid-desktop-before-line-height, inherit));
  }
  .tenant-fidelity-has-after::after {
    content: var(--fid-tablet-after-content, var(--fid-desktop-after-content, attr(data-pseudo-after)));
    display: var(--fid-tablet-after-display, var(--fid-desktop-after-display, inline));
    clear: var(--fid-tablet-after-clear, var(--fid-desktop-after-clear, none));
    position: var(--fid-tablet-after-position, var(--fid-desktop-after-position, static));
    z-index: var(--fid-tablet-after-z-index, var(--fid-desktop-after-z-index, auto));
    inset: var(--fid-tablet-after-top, var(--fid-desktop-after-top, auto)) var(--fid-tablet-after-right, var(--fid-desktop-after-right, auto)) var(--fid-tablet-after-bottom, var(--fid-desktop-after-bottom, auto)) var(--fid-tablet-after-left, var(--fid-desktop-after-left, auto));
    margin: var(--fid-tablet-after-margin, var(--fid-desktop-after-margin, 0));
    padding: var(--fid-tablet-after-padding, var(--fid-desktop-after-padding, 0));
    color: var(--fid-tablet-after-color, var(--fid-desktop-after-color, currentColor));
    background-color: var(--fid-tablet-after-background-color, var(--fid-desktop-after-background-color, transparent));
    background-image: var(--fid-tablet-after-background-image, var(--fid-desktop-after-background-image, none));
    background-size: var(--fid-tablet-after-background-size, var(--fid-desktop-after-background-size, auto));
    background-position: var(--fid-tablet-after-background-position, var(--fid-desktop-after-background-position, 0% 0%));
    background-repeat: var(--fid-tablet-after-background-repeat, var(--fid-desktop-after-background-repeat, repeat));
    width: var(--fid-tablet-after-width, var(--fid-desktop-after-width, auto));
    height: var(--fid-tablet-after-height, var(--fid-desktop-after-height, auto));
    min-width: var(--fid-tablet-after-min-width, var(--fid-desktop-after-min-width, 0));
    min-height: var(--fid-tablet-after-min-height, var(--fid-desktop-after-min-height, 0));
    max-width: var(--fid-tablet-after-max-width, var(--fid-desktop-after-max-width, none));
    max-height: var(--fid-tablet-after-max-height, var(--fid-desktop-after-max-height, none));
    border: var(--fid-tablet-after-border, var(--fid-desktop-after-border, 0 solid transparent));
    border-radius: var(--fid-tablet-after-border-radius, var(--fid-desktop-after-border-radius, 0));
    box-shadow: var(--fid-tablet-after-box-shadow, var(--fid-desktop-after-box-shadow, none));
    clip-path: var(--fid-tablet-after-clip-path, var(--fid-desktop-after-clip-path, none));
    transform: var(--fid-tablet-after-transform, var(--fid-desktop-after-transform, none));
    transform-origin: var(--fid-tablet-after-transform-origin, var(--fid-desktop-after-transform-origin, center));
    opacity: var(--fid-tablet-after-opacity, var(--fid-desktop-after-opacity, 1));
    filter: var(--fid-tablet-after-filter, var(--fid-desktop-after-filter, none));
    font-family: var(--fid-tablet-after-font-family, var(--fid-desktop-after-font-family, inherit));
    font-size: var(--fid-tablet-after-font-size, var(--fid-desktop-after-font-size, inherit));
    font-weight: var(--fid-tablet-after-font-weight, var(--fid-desktop-after-font-weight, inherit));
    line-height: var(--fid-tablet-after-line-height, var(--fid-desktop-after-line-height, inherit));
  }
  .media-replace-row {
    grid-template-columns: 1fr;
  }
  .scan-command,
  .scan-command-form,
  .project-card {
    grid-template-columns: 1fr;
  }
  .project-theme-head {
    align-items: stretch;
    flex-direction: column;
  }
  .theme-controls-grid {
    grid-template-columns: 1fr;
  }
  .project-card-actions {
    justify-content: stretch;
  }
  .project-card-actions .button {
    flex: 1 1 140px;
  }
}

@media (max-width: 520px) {
  [data-fidelity-script-compatible-font="true"] {
    --tenant-script-compatible-font-family: var(--fid-mobile-font-family, var(--fid-tablet-font-family, var(--fid-desktop-font-family)));
  }
  #source-structure [data-fidelity-canonical-background="true"] {
    background-image: var(--fid-mobile-background-image, var(--fid-tablet-background-image, var(--fid-desktop-background-image, none)));
    background-size: var(--fid-mobile-background-size, var(--fid-tablet-background-size, var(--fid-desktop-background-size, auto)));
    background-position: var(--fid-mobile-background-position, var(--fid-tablet-background-position, var(--fid-desktop-background-position, 0% 0%)));
    background-repeat: var(--fid-mobile-background-repeat, var(--fid-tablet-background-repeat, var(--fid-desktop-background-repeat, repeat)));
  }
  .tenant-fidelity-node[data-fidelity-backdrop="true"]::backdrop {
    background-color: var(--fid-mobile-backdrop-background-color, var(--fid-tablet-backdrop-background-color, var(--fid-desktop-backdrop-background-color)));
    background-image: var(--fid-mobile-backdrop-background-image, var(--fid-tablet-backdrop-background-image, var(--fid-desktop-backdrop-background-image)));
    background-size: var(--fid-mobile-backdrop-background-size, var(--fid-tablet-backdrop-background-size, var(--fid-desktop-backdrop-background-size)));
    background-position: var(--fid-mobile-backdrop-background-position, var(--fid-tablet-backdrop-background-position, var(--fid-desktop-backdrop-background-position)));
    background-repeat: var(--fid-mobile-backdrop-background-repeat, var(--fid-tablet-backdrop-background-repeat, var(--fid-desktop-backdrop-background-repeat)));
    backdrop-filter: var(--fid-mobile-backdrop-backdrop-filter, var(--fid-tablet-backdrop-backdrop-filter, var(--fid-desktop-backdrop-backdrop-filter)));
    filter: var(--fid-mobile-backdrop-filter, var(--fid-tablet-backdrop-filter, var(--fid-desktop-backdrop-filter)));
    opacity: var(--fid-mobile-backdrop-opacity, var(--fid-tablet-backdrop-opacity, var(--fid-desktop-backdrop-opacity)));
    transition: var(--fid-mobile-backdrop-transition, var(--fid-tablet-backdrop-transition, var(--fid-desktop-backdrop-transition)));
    transition-property: var(--fid-mobile-backdrop-transition-property, var(--fid-tablet-backdrop-transition-property, var(--fid-desktop-backdrop-transition-property)));
    transition-duration: var(--fid-mobile-backdrop-transition-duration, var(--fid-tablet-backdrop-transition-duration, var(--fid-desktop-backdrop-transition-duration)));
    transition-delay: var(--fid-mobile-backdrop-transition-delay, var(--fid-tablet-backdrop-transition-delay, var(--fid-desktop-backdrop-transition-delay)));
    transition-timing-function: var(--fid-mobile-backdrop-transition-timing-function, var(--fid-tablet-backdrop-transition-timing-function, var(--fid-desktop-backdrop-transition-timing-function)));
  }
  .tenant-fidelity-node,
  .tenant-fidelity-responsive-chrome-layout {
    --fid-mobile-display: var(--fid-tablet-display, var(--fid-desktop-display)); --fid-mobile-position: var(--fid-tablet-position, var(--fid-desktop-position)); --fid-mobile-z-index: var(--fid-tablet-z-index, var(--fid-desktop-z-index)); --fid-mobile-top: var(--fid-tablet-top, var(--fid-desktop-top)); --fid-mobile-right: var(--fid-tablet-right, var(--fid-desktop-right)); --fid-mobile-bottom: var(--fid-tablet-bottom, var(--fid-desktop-bottom)); --fid-mobile-left: var(--fid-tablet-left, var(--fid-desktop-left));
    --fid-mobile-flex: var(--fid-tablet-flex, var(--fid-desktop-flex)); --fid-mobile-flex-direction: var(--fid-tablet-flex-direction, var(--fid-desktop-flex-direction)); --fid-mobile-flex-wrap: var(--fid-tablet-flex-wrap, var(--fid-desktop-flex-wrap)); --fid-mobile-flex-basis: var(--fid-tablet-flex-basis, var(--fid-desktop-flex-basis)); --fid-mobile-flex-grow: var(--fid-tablet-flex-grow, var(--fid-desktop-flex-grow)); --fid-mobile-flex-shrink: var(--fid-tablet-flex-shrink, var(--fid-desktop-flex-shrink)); --fid-mobile-order: var(--fid-tablet-order, var(--fid-desktop-order));
    --fid-mobile-grid-template-columns: var(--fid-tablet-grid-template-columns, var(--fid-desktop-grid-template-columns)); --fid-mobile-grid-template-rows: var(--fid-tablet-grid-template-rows, var(--fid-desktop-grid-template-rows)); --fid-mobile-grid-template-areas: var(--fid-tablet-grid-template-areas, var(--fid-desktop-grid-template-areas)); --fid-mobile-grid-column: var(--fid-tablet-grid-column, var(--fid-desktop-grid-column)); --fid-mobile-grid-row: var(--fid-tablet-grid-row, var(--fid-desktop-grid-row)); --fid-mobile-grid-area: var(--fid-tablet-grid-area, var(--fid-desktop-grid-area)); --fid-mobile-gap: var(--fid-tablet-gap, var(--fid-desktop-gap));
    --fid-mobile-align-items: var(--fid-tablet-align-items, var(--fid-desktop-align-items)); --fid-mobile-justify-content: var(--fid-tablet-justify-content, var(--fid-desktop-justify-content)); --fid-mobile-justify-items: var(--fid-tablet-justify-items, var(--fid-desktop-justify-items)); --fid-mobile-align-self: var(--fid-tablet-align-self, var(--fid-desktop-align-self)); --fid-mobile-justify-self: var(--fid-tablet-justify-self, var(--fid-desktop-justify-self)); --fid-mobile-float: var(--fid-tablet-float, var(--fid-desktop-float)); --fid-mobile-clear: var(--fid-tablet-clear, var(--fid-desktop-clear));
    --fid-mobile-margin: var(--fid-tablet-margin, var(--fid-desktop-margin)); --fid-mobile-padding: var(--fid-tablet-padding, var(--fid-desktop-padding)); --fid-mobile-css-width: var(--fid-tablet-css-width, var(--fid-desktop-css-width)); --fid-mobile-width: var(--fid-tablet-width, var(--fid-desktop-width)); --fid-mobile-min-width: var(--fid-tablet-min-width, var(--fid-desktop-min-width)); --fid-mobile-height: var(--fid-tablet-height, var(--fid-desktop-height)); --fid-mobile-measured-height: var(--fid-tablet-measured-height, var(--fid-desktop-measured-height)); --fid-mobile-min-height: var(--fid-tablet-min-height, var(--fid-desktop-min-height)); --fid-mobile-max-width: var(--fid-tablet-max-width, var(--fid-desktop-max-width)); --fid-mobile-max-height: var(--fid-tablet-max-height, var(--fid-desktop-max-height)); --fid-mobile-aspect-ratio: var(--fid-tablet-aspect-ratio, var(--fid-desktop-aspect-ratio));
    --fid-mobile-color: var(--fid-tablet-color, var(--fid-desktop-color)); --fid-mobile-background-color: var(--fid-tablet-background-color, var(--fid-desktop-background-color)); --fid-mobile-background-image: var(--fid-tablet-background-image, var(--fid-desktop-background-image)); --fid-mobile-background-size: var(--fid-tablet-background-size, var(--fid-desktop-background-size)); --fid-mobile-background-position: var(--fid-tablet-background-position, var(--fid-desktop-background-position)); --fid-mobile-background-repeat: var(--fid-tablet-background-repeat, var(--fid-desktop-background-repeat)); --fid-mobile-border: var(--fid-tablet-border, var(--fid-desktop-border)); --fid-mobile-border-top: var(--fid-tablet-border-top, var(--fid-desktop-border-top)); --fid-mobile-border-right: var(--fid-tablet-border-right, var(--fid-desktop-border-right)); --fid-mobile-border-bottom: var(--fid-tablet-border-bottom, var(--fid-desktop-border-bottom)); --fid-mobile-border-left: var(--fid-tablet-border-left, var(--fid-desktop-border-left)); --fid-mobile-border-radius: var(--fid-tablet-border-radius, var(--fid-desktop-border-radius)); --fid-mobile-box-shadow: var(--fid-tablet-box-shadow, var(--fid-desktop-box-shadow));
    --fid-mobile-transform: var(--fid-tablet-transform, var(--fid-desktop-transform)); --fid-mobile-transform-origin: var(--fid-tablet-transform-origin, var(--fid-desktop-transform-origin)); --fid-mobile-transition: var(--fid-tablet-transition, var(--fid-desktop-transition)); --fid-mobile-transition-property: var(--fid-tablet-transition-property, var(--fid-desktop-transition-property)); --fid-mobile-transition-duration: var(--fid-tablet-transition-duration, var(--fid-desktop-transition-duration)); --fid-mobile-transition-delay: var(--fid-tablet-transition-delay, var(--fid-desktop-transition-delay)); --fid-mobile-transition-timing-function: var(--fid-tablet-transition-timing-function, var(--fid-desktop-transition-timing-function)); --fid-mobile-opacity: var(--fid-tablet-opacity, var(--fid-desktop-opacity)); --fid-mobile-filter: var(--fid-tablet-filter, var(--fid-desktop-filter)); --fid-mobile-backdrop-filter: var(--fid-tablet-backdrop-filter, var(--fid-desktop-backdrop-filter)); --fid-mobile-visibility: var(--fid-tablet-visibility, var(--fid-desktop-visibility)); --fid-mobile-object-fit: var(--fid-tablet-object-fit, var(--fid-desktop-object-fit)); --fid-mobile-object-position: var(--fid-tablet-object-position, var(--fid-desktop-object-position));
    --fid-mobile-font-family: var(--fid-tablet-font-family, var(--fid-desktop-font-family)); --fid-mobile-font-size: var(--fid-tablet-font-size, var(--fid-desktop-font-size)); --fid-mobile-font-weight: var(--fid-tablet-font-weight, var(--fid-desktop-font-weight)); --fid-mobile-line-height: var(--fid-tablet-line-height, var(--fid-desktop-line-height)); --fid-mobile-letter-spacing: var(--fid-tablet-letter-spacing, var(--fid-desktop-letter-spacing)); --fid-mobile-text-align: var(--fid-tablet-text-align, var(--fid-desktop-text-align)); --fid-mobile-text-indent: var(--fid-tablet-text-indent, var(--fid-desktop-text-indent)); --fid-mobile-text-transform: var(--fid-tablet-text-transform, var(--fid-desktop-text-transform)); --fid-mobile-text-decoration: var(--fid-tablet-text-decoration, var(--fid-desktop-text-decoration)); --fid-mobile-accent-color: var(--fid-tablet-accent-color, var(--fid-desktop-accent-color)); --fid-mobile-white-space: var(--fid-tablet-white-space, var(--fid-desktop-white-space)); --fid-mobile-word-break: var(--fid-tablet-word-break, var(--fid-desktop-word-break)); --fid-mobile-overflow: var(--fid-tablet-overflow, var(--fid-desktop-overflow)); --fid-mobile-overflow-x: var(--fid-tablet-overflow-x, var(--fid-desktop-overflow-x)); --fid-mobile-overflow-y: var(--fid-tablet-overflow-y, var(--fid-desktop-overflow-y)); --fid-mobile-overflow-wrap: var(--fid-tablet-overflow-wrap, var(--fid-desktop-overflow-wrap)); --fid-mobile-text-overflow: var(--fid-tablet-text-overflow, var(--fid-desktop-text-overflow)); --fid-mobile-list-style-type: var(--fid-tablet-list-style-type, var(--fid-desktop-list-style-type)); --fid-mobile-list-style-position: var(--fid-tablet-list-style-position, var(--fid-desktop-list-style-position)); --fid-mobile-list-style-image: var(--fid-tablet-list-style-image, var(--fid-desktop-list-style-image)); --fid-mobile-border-collapse: var(--fid-tablet-border-collapse, var(--fid-desktop-border-collapse)); --fid-mobile-border-spacing: var(--fid-tablet-border-spacing, var(--fid-desktop-border-spacing)); --fid-mobile-table-layout: var(--fid-tablet-table-layout, var(--fid-desktop-table-layout)); --fid-mobile-caption-side: var(--fid-tablet-caption-side, var(--fid-desktop-caption-side)); --fid-mobile-empty-cells: var(--fid-tablet-empty-cells, var(--fid-desktop-empty-cells)); --fid-mobile-vertical-align: var(--fid-tablet-vertical-align, var(--fid-desktop-vertical-align));
  }
  :where([data-tenant-project][data-blueprint-page] #source-structure) .tenant-fidelity-responsive-chrome { display: var(--fid-mobile-display, var(--fid-tablet-display, var(--fid-desktop-display, revert))); visibility: var(--fid-mobile-visibility, var(--fid-tablet-visibility, var(--fid-desktop-visibility, revert))); }
  #source-structure .tenant-fidelity-responsive-chrome:is(.tenant-fidelity-img, .tenant-fidelity-svg) { filter: var(--fid-mobile-filter, var(--fid-tablet-filter, var(--fid-desktop-filter, none))); }
  .tenant-fidelity-page {
    padding-top: var(--fid-page-mobile-padding-top, var(--fid-page-tablet-padding-top, var(--fid-page-desktop-padding-top, 0px)));
  }
  .tenant-fidelity-node[data-fidelity-content-visibility="auto"] {
    contain-intrinsic-size: auto var(--fid-mobile-intrinsic-block-size, var(--fid-mobile-measured-height, var(--fid-tablet-intrinsic-block-size, 1px)));
  }
  .tenant-fidelity-node,
  .tenant-fidelity-responsive-chrome-layout {
    display: var(--fid-mobile-display);
    position: var(--fid-mobile-position);
    z-index: var(--fid-mobile-z-index);
    top: var(--fid-mobile-top);
    right: var(--fid-mobile-right);
    bottom: var(--fid-mobile-bottom);
    left: var(--fid-mobile-left);
    flex: var(--fid-mobile-flex);
    flex-direction: var(--fid-mobile-flex-direction);
    flex-wrap: var(--fid-mobile-flex-wrap);
    flex-basis: var(--fid-mobile-flex-basis);
    flex-grow: var(--fid-mobile-flex-grow);
    flex-shrink: var(--fid-mobile-flex-shrink);
    order: var(--fid-mobile-order);
    grid-template-columns: var(--fid-mobile-grid-template-columns);
    grid-template-rows: var(--fid-mobile-grid-template-rows);
    grid-template-areas: var(--fid-mobile-grid-template-areas);
    grid-column: var(--fid-mobile-grid-column);
    grid-row: var(--fid-mobile-grid-row);
    grid-area: var(--fid-mobile-grid-area);
    gap: var(--fid-mobile-gap);
    align-items: var(--fid-mobile-align-items);
    justify-content: var(--fid-mobile-justify-content);
    justify-items: var(--fid-mobile-justify-items);
    align-self: var(--fid-mobile-align-self);
    justify-self: var(--fid-mobile-justify-self);
    float: var(--fid-mobile-float);
    clear: var(--fid-mobile-clear);
    box-sizing: var(--fid-mobile-box-sizing, var(--fid-tablet-box-sizing, var(--fid-desktop-box-sizing, border-box)));
    margin: var(--fid-mobile-margin);
    padding: var(--fid-mobile-padding);
    width: min(100%, var(--fid-mobile-css-width, var(--fid-mobile-width)));
    min-width: var(--fid-mobile-min-width);
    min-height: var(--fid-mobile-min-height);
    max-width: min(100%, var(--fid-mobile-max-width, 100%));
    max-height: var(--fid-mobile-max-height);
    aspect-ratio: var(--fid-mobile-aspect-ratio);
    color: var(--fid-mobile-color);
    background-color: var(--fid-mobile-background-color);
    background-image: var(--fid-mobile-background-image);
    background-size: var(--fid-mobile-background-size);
    background-position: var(--fid-mobile-background-position);
    background-repeat: var(--fid-mobile-background-repeat);
    border: var(--fid-mobile-border);
    border-top: var(--fid-mobile-border-top);
    border-right: var(--fid-mobile-border-right);
    border-bottom: var(--fid-mobile-border-bottom);
    border-left: var(--fid-mobile-border-left);
    border-radius: var(--fid-mobile-border-radius);
    box-shadow: var(--fid-mobile-box-shadow);
    transform: var(--fid-mobile-transform);
    transform-origin: var(--fid-mobile-transform-origin);
    transition: var(--fid-mobile-transition);
    transition-property: var(--fid-mobile-transition-property);
    transition-duration: var(--fid-mobile-transition-duration);
    transition-delay: var(--fid-mobile-transition-delay);
    transition-timing-function: var(--fid-mobile-transition-timing-function);
    opacity: var(--fid-mobile-opacity);
    filter: var(--fid-mobile-filter);
    backdrop-filter: var(--fid-mobile-backdrop-filter);
    visibility: var(--fid-mobile-visibility);
    object-fit: var(--fid-mobile-object-fit);
    object-position: var(--fid-mobile-object-position);
    font-family: var(--fid-mobile-font-family);
    font-size: var(--fid-mobile-font-size);
    font-weight: var(--fid-mobile-font-weight);
    line-height: var(--fid-mobile-line-height);
    letter-spacing: var(--fid-mobile-letter-spacing);
    text-align: var(--fid-mobile-text-align);
    text-indent: var(--fid-mobile-text-indent);
    text-transform: var(--fid-mobile-text-transform);
    text-decoration: var(--fid-mobile-text-decoration);
    accent-color: var(--fid-mobile-accent-color, var(--tenant-secondary, currentColor));
    white-space: var(--fid-mobile-white-space);
    word-break: var(--fid-mobile-word-break);
    overflow: var(--fid-mobile-overflow);
    overflow-x: var(--fid-mobile-overflow-x);
    overflow-y: var(--fid-mobile-overflow-y);
    overflow-wrap: var(--fid-mobile-overflow-wrap);
    text-overflow: var(--fid-mobile-text-overflow);
    list-style-type: var(--fid-mobile-list-style-type);
    list-style-position: var(--fid-mobile-list-style-position);
    list-style-image: var(--fid-mobile-list-style-image);
    border-collapse: var(--fid-mobile-border-collapse);
    border-spacing: var(--fid-mobile-border-spacing);
    table-layout: var(--fid-mobile-table-layout);
    caption-side: var(--fid-mobile-caption-side);
    empty-cells: var(--fid-mobile-empty-cells);
    vertical-align: var(--fid-mobile-vertical-align);
  }
  #source-structure [data-fidelity-contained-pixel-width="true"]:not([data-fidelity-authored-width="true"]) {
    width: var(--fid-mobile-css-width, var(--fid-mobile-width, var(--fid-tablet-css-width, var(--fid-tablet-width, var(--fid-desktop-css-width, var(--fid-desktop-width))))));
  }
  #source-structure [data-fidelity-centered-chrome-brand~="mobile"] {
    position: absolute;
    left: 50%;
    right: auto;
    translate: -50% 0;
  }
  .tenant-fidelity-node[style*="--fid-mobile-offset-left"] {
    margin-left: var(--fid-mobile-offset-left);
  }
  .tenant-fidelity-node[style*="--fid-tablet-offset-left"]:not([style*="--fid-mobile-offset-left"]) {
    margin-left: 0;
  }
  .tenant-fidelity-node[data-fidelity-overflow-track="true"] {
    width: var(--fid-mobile-css-width, var(--fid-mobile-width));
    max-width: none;
  }
  .tenant-fidelity-boxed {
    min-height: var(--fid-mobile-min-height);
  }
  :where(#source-structure) .tenant-fidelity-height-fit {
    height: var(--fid-mobile-height);
    overflow: var(--fid-mobile-overflow, var(--fid-tablet-overflow, var(--fid-desktop-overflow, hidden)));
    overflow-x: var(--fid-mobile-overflow-x, var(--fid-tablet-overflow-x, visible));
    overflow-y: var(--fid-mobile-overflow-y, var(--fid-tablet-overflow-y, visible));
  }
  :where(#source-structure) .tenant-fidelity-height-fit[data-fidelity-node-visible-overflow="true"] {
    overflow: visible;
  }
  .tenant-fidelity-text-fit {
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  .tenant-fidelity-inline-fragment-fit {
    width: var(--fid-mobile-width);
    min-height: var(--fid-mobile-measured-height);
    vertical-align: var(--fid-mobile-vertical-align, baseline);
  }
  .tenant-fidelity-img,
  .tenant-fidelity-iframe,
  .tenant-fidelity-object,
  .tenant-fidelity-embed,
  .tenant-fidelity-video,
  .tenant-fidelity-audio,
  .tenant-fidelity-canvas,
  .tenant-fidelity-progress,
  .tenant-fidelity-meter,
  .tenant-fidelity-svg {
    width: var(--fid-mobile-css-width, var(--fid-mobile-width, var(--fid-tablet-css-width, var(--fid-tablet-width, var(--fid-desktop-css-width, var(--fid-desktop-width))))));
    max-width: 100%;
    height: var(--fid-mobile-height);
  }
  .tenant-fidelity-has-before::before {
    content: var(--fid-mobile-before-content, var(--fid-tablet-before-content, var(--fid-desktop-before-content, attr(data-pseudo-before))));
    display: var(--fid-mobile-before-display, var(--fid-tablet-before-display, var(--fid-desktop-before-display, inline)));
    clear: var(--fid-mobile-before-clear, var(--fid-tablet-before-clear, var(--fid-desktop-before-clear, none)));
    position: var(--fid-mobile-before-position, var(--fid-tablet-before-position, var(--fid-desktop-before-position, static)));
    z-index: var(--fid-mobile-before-z-index, var(--fid-tablet-before-z-index, var(--fid-desktop-before-z-index, auto)));
    inset: var(--fid-mobile-before-top, var(--fid-tablet-before-top, var(--fid-desktop-before-top, auto))) var(--fid-mobile-before-right, var(--fid-tablet-before-right, var(--fid-desktop-before-right, auto))) var(--fid-mobile-before-bottom, var(--fid-tablet-before-bottom, var(--fid-desktop-before-bottom, auto))) var(--fid-mobile-before-left, var(--fid-tablet-before-left, var(--fid-desktop-before-left, auto)));
    margin: var(--fid-mobile-before-margin, var(--fid-tablet-before-margin, var(--fid-desktop-before-margin, 0)));
    padding: var(--fid-mobile-before-padding, var(--fid-tablet-before-padding, var(--fid-desktop-before-padding, 0)));
    color: var(--fid-mobile-before-color, var(--fid-tablet-before-color, var(--fid-desktop-before-color, currentColor)));
    background-color: var(--fid-mobile-before-background-color, var(--fid-tablet-before-background-color, var(--fid-desktop-before-background-color, transparent)));
    background-image: var(--fid-mobile-before-background-image, var(--fid-tablet-before-background-image, var(--fid-desktop-before-background-image, none)));
    background-size: var(--fid-mobile-before-background-size, var(--fid-tablet-before-background-size, var(--fid-desktop-before-background-size, auto)));
    background-position: var(--fid-mobile-before-background-position, var(--fid-tablet-before-background-position, var(--fid-desktop-before-background-position, 0% 0%)));
    background-repeat: var(--fid-mobile-before-background-repeat, var(--fid-tablet-before-background-repeat, var(--fid-desktop-before-background-repeat, repeat)));
    width: var(--fid-mobile-before-width, var(--fid-tablet-before-width, var(--fid-desktop-before-width, auto)));
    height: var(--fid-mobile-before-height, var(--fid-tablet-before-height, var(--fid-desktop-before-height, auto)));
    min-width: var(--fid-mobile-before-min-width, var(--fid-tablet-before-min-width, var(--fid-desktop-before-min-width, 0)));
    min-height: var(--fid-mobile-before-min-height, var(--fid-tablet-before-min-height, var(--fid-desktop-before-min-height, 0)));
    max-width: var(--fid-mobile-before-max-width, var(--fid-tablet-before-max-width, var(--fid-desktop-before-max-width, none)));
    max-height: var(--fid-mobile-before-max-height, var(--fid-tablet-before-max-height, var(--fid-desktop-before-max-height, none)));
    border: var(--fid-mobile-before-border, var(--fid-tablet-before-border, var(--fid-desktop-before-border, 0 solid transparent)));
    border-radius: var(--fid-mobile-before-border-radius, var(--fid-tablet-before-border-radius, var(--fid-desktop-before-border-radius, 0)));
    box-shadow: var(--fid-mobile-before-box-shadow, var(--fid-tablet-before-box-shadow, var(--fid-desktop-before-box-shadow, none)));
    clip-path: var(--fid-mobile-before-clip-path, var(--fid-tablet-before-clip-path, var(--fid-desktop-before-clip-path, none)));
    transform: var(--fid-mobile-before-transform, var(--fid-tablet-before-transform, var(--fid-desktop-before-transform, none)));
    transform-origin: var(--fid-mobile-before-transform-origin, var(--fid-tablet-before-transform-origin, var(--fid-desktop-before-transform-origin, center)));
    opacity: var(--fid-mobile-before-opacity, var(--fid-tablet-before-opacity, var(--fid-desktop-before-opacity, 1)));
    filter: var(--fid-mobile-before-filter, var(--fid-tablet-before-filter, var(--fid-desktop-before-filter, none)));
    font-family: var(--fid-mobile-before-font-family, var(--fid-tablet-before-font-family, var(--fid-desktop-before-font-family, inherit)));
    font-size: var(--fid-mobile-before-font-size, var(--fid-tablet-before-font-size, var(--fid-desktop-before-font-size, inherit)));
    font-weight: var(--fid-mobile-before-font-weight, var(--fid-tablet-before-font-weight, var(--fid-desktop-before-font-weight, inherit)));
    line-height: var(--fid-mobile-before-line-height, var(--fid-tablet-before-line-height, var(--fid-desktop-before-line-height, inherit)));
  }
  .tenant-fidelity-has-after::after {
    content: var(--fid-mobile-after-content, var(--fid-tablet-after-content, var(--fid-desktop-after-content, attr(data-pseudo-after))));
    display: var(--fid-mobile-after-display, var(--fid-tablet-after-display, var(--fid-desktop-after-display, inline)));
    clear: var(--fid-mobile-after-clear, var(--fid-tablet-after-clear, var(--fid-desktop-after-clear, none)));
    position: var(--fid-mobile-after-position, var(--fid-tablet-after-position, var(--fid-desktop-after-position, static)));
    z-index: var(--fid-mobile-after-z-index, var(--fid-tablet-after-z-index, var(--fid-desktop-after-z-index, auto)));
    inset: var(--fid-mobile-after-top, var(--fid-tablet-after-top, var(--fid-desktop-after-top, auto))) var(--fid-mobile-after-right, var(--fid-tablet-after-right, var(--fid-desktop-after-right, auto))) var(--fid-mobile-after-bottom, var(--fid-tablet-after-bottom, var(--fid-desktop-after-bottom, auto))) var(--fid-mobile-after-left, var(--fid-tablet-after-left, var(--fid-desktop-after-left, auto)));
    margin: var(--fid-mobile-after-margin, var(--fid-tablet-after-margin, var(--fid-desktop-after-margin, 0)));
    padding: var(--fid-mobile-after-padding, var(--fid-tablet-after-padding, var(--fid-desktop-after-padding, 0)));
    color: var(--fid-mobile-after-color, var(--fid-tablet-after-color, var(--fid-desktop-after-color, currentColor)));
    background-color: var(--fid-mobile-after-background-color, var(--fid-tablet-after-background-color, var(--fid-desktop-after-background-color, transparent)));
    background-image: var(--fid-mobile-after-background-image, var(--fid-tablet-after-background-image, var(--fid-desktop-after-background-image, none)));
    background-size: var(--fid-mobile-after-background-size, var(--fid-tablet-after-background-size, var(--fid-desktop-after-background-size, auto)));
    background-position: var(--fid-mobile-after-background-position, var(--fid-tablet-after-background-position, var(--fid-desktop-after-background-position, 0% 0%)));
    background-repeat: var(--fid-mobile-after-background-repeat, var(--fid-tablet-after-background-repeat, var(--fid-desktop-after-background-repeat, repeat)));
    width: var(--fid-mobile-after-width, var(--fid-tablet-after-width, var(--fid-desktop-after-width, auto)));
    height: var(--fid-mobile-after-height, var(--fid-tablet-after-height, var(--fid-desktop-after-height, auto)));
    min-width: var(--fid-mobile-after-min-width, var(--fid-tablet-after-min-width, var(--fid-desktop-after-min-width, 0)));
    min-height: var(--fid-mobile-after-min-height, var(--fid-tablet-after-min-height, var(--fid-desktop-after-min-height, 0)));
    max-width: var(--fid-mobile-after-max-width, var(--fid-tablet-after-max-width, var(--fid-desktop-after-max-width, none)));
    max-height: var(--fid-mobile-after-max-height, var(--fid-tablet-after-max-height, var(--fid-desktop-after-max-height, none)));
    border: var(--fid-mobile-after-border, var(--fid-tablet-after-border, var(--fid-desktop-after-border, 0 solid transparent)));
    border-radius: var(--fid-mobile-after-border-radius, var(--fid-tablet-after-border-radius, var(--fid-desktop-after-border-radius, 0)));
    box-shadow: var(--fid-mobile-after-box-shadow, var(--fid-tablet-after-box-shadow, var(--fid-desktop-after-box-shadow, none)));
    clip-path: var(--fid-mobile-after-clip-path, var(--fid-tablet-after-clip-path, var(--fid-desktop-after-clip-path, none)));
    transform: var(--fid-mobile-after-transform, var(--fid-tablet-after-transform, var(--fid-desktop-after-transform, none)));
    transform-origin: var(--fid-mobile-after-transform-origin, var(--fid-tablet-after-transform-origin, var(--fid-desktop-after-transform-origin, center)));
    opacity: var(--fid-mobile-after-opacity, var(--fid-tablet-after-opacity, var(--fid-desktop-after-opacity, 1)));
    filter: var(--fid-mobile-after-filter, var(--fid-tablet-after-filter, var(--fid-desktop-after-filter, none)));
    font-family: var(--fid-mobile-after-font-family, var(--fid-tablet-after-font-family, var(--fid-desktop-after-font-family, inherit)));
    font-size: var(--fid-mobile-after-font-size, var(--fid-tablet-after-font-size, var(--fid-desktop-after-font-size, inherit)));
    font-weight: var(--fid-mobile-after-font-weight, var(--fid-tablet-after-font-weight, var(--fid-desktop-after-font-weight, inherit)));
    line-height: var(--fid-mobile-after-line-height, var(--fid-tablet-after-line-height, var(--fid-desktop-after-line-height, inherit)));
  }
}

/* A static source-chrome container must grow with a revealed in-flow panel.
   Breakpoint snapshot heights describe its resting geometry, not a cap. */
.tenant-fidelity-responsive-chrome-flow-layout {
  height: auto;
  min-height: 0;
  max-height: none;
}

/* These breakpoints belong to scanner-derived source layout, not the shared
   fidelity geometry layer above. Source sites commonly reserve absolute
   header space through 1024px and switch to compact chrome at 767px. */
@media (max-width: 1024px) {
  .tenant-fidelity-synthetic-reserved-flow {
    padding-top: var(--fid-reserved-tablet-top, var(--fid-reserved-desktop-top, 0px));
  }
}

@media (max-width: 767px) {
  .tenant-fidelity-synthetic-reserved-flow {
    padding-top: var(--fid-reserved-mobile-top, var(--fid-reserved-tablet-top, var(--fid-reserved-desktop-top, 0px)));
  }
}

/* Source chrome keeps source-CSS geometry, but its captured visibility and
   visual state must use the same 1024/767 breakpoint bands as the emitted
   source blueprint. Keeping these declarations separate from the narrower
   generic geometry layer prevents a source class from reviving a hidden
   responsive duplicate (for example, a second menu label). */
@media (max-width: 1024px) {
  #source-structure .tenant-fidelity-responsive-chrome {
    display: var(--fid-tablet-display, var(--fid-desktop-display, revert));
    visibility: var(--fid-tablet-visibility, var(--fid-desktop-visibility, revert));
  }
  #source-structure .tenant-fidelity-responsive-chrome:is(.tenant-fidelity-img, .tenant-fidelity-svg) {
    filter: var(--fid-tablet-filter, var(--fid-desktop-filter, none));
  }
}

@media (max-width: 767px) {
  #source-structure .tenant-fidelity-responsive-chrome {
    display: var(--fid-mobile-display, var(--fid-tablet-display, var(--fid-desktop-display, revert)));
    visibility: var(--fid-mobile-visibility, var(--fid-tablet-visibility, var(--fid-desktop-visibility, revert)));
  }
  #source-structure .tenant-fidelity-responsive-chrome:is(.tenant-fidelity-img, .tenant-fidelity-svg) {
    filter: var(--fid-mobile-filter, var(--fid-tablet-filter, var(--fid-desktop-filter, none)));
  }
}

/* Responsive branch gates are the final authority for both regular fidelity
   nodes and source chrome. Keep them after the responsive display projections
   so a captured display value cannot revive a branch hidden at this viewport. */
@media (min-width: 901px) {
  [data-tenant-project][data-blueprint-page] #source-structure [data-fidelity-hide-desktop="true"] {
    display: none;
  }
}

@media (min-width: 521px) and (max-width: 900px) {
  [data-tenant-project][data-blueprint-page] #source-structure [data-fidelity-hide-tablet="true"] {
    display: none;
  }
}

@media (max-width: 520px) {
  [data-tenant-project][data-blueprint-page] #source-structure [data-fidelity-hide-mobile="true"] {
    display: none;
  }
}
