/*
 * Stylesheet map
 * --------------
 * The stylesheet is grouped around semantic UI surfaces: foundation tokens,
 * chrome/toolbars, workspace cards, modals/wizards, mobile surfaces, and final
 * responsive overrides. App UI class names should stay semantic; version-stamped implementation classes such as *-v#### are intentionally
 * not part of the public CSS contract.
 */

:root {
  color-scheme: dark;
  --tv-bg: #030407;
  --tv-bg-soft: #070a0f;
  --tv-surface: rgba(11, 15, 24, 0.88);
  --tv-surface-strong: rgba(6, 9, 15, 0.96);
  --tv-line: rgba(255, 255, 255, 0.14);
  --tv-line-soft: rgba(255, 255, 255, 0.08);
  --tv-ink: #f5f7fb;
  --tv-muted: #aab3c3;
  --tv-muted-2: #748095;
  --tv-cyan: #16f0e2;
  --tv-purple: #a66cff;
  --tv-gold: #f4b02a;
  --tv-green: #58ff9a;
  --tv-red: #ff6666;
  --tv-blue: #6ba7ff;
  --tv-radius: 22px;
  --tv-shadow: 0 30px 110px rgba(0, 0, 0, 0.42);
}

* { box-sizing: border-box; }

html { min-height: 100%; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 0%, rgba(22, 240, 226, 0.12), transparent 28%),
    radial-gradient(circle at 88% 0%, rgba(166, 108, 255, 0.13), transparent 26%),
    radial-gradient(circle at 50% 100%, rgba(244, 176, 42, 0.06), transparent 30%),
    linear-gradient(180deg, #020305 0%, #05070b 45%, #020305 100%);
  color: var(--tv-ink);
  font-family: Inter, "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.016), rgba(255,255,255,0.016)),
    repeating-linear-gradient(90deg, transparent 0 95px, rgba(255,255,255,0.032) 96px),
    repeating-linear-gradient(180deg, transparent 0 95px, rgba(255,255,255,0.024) 96px);
  mask-image: linear-gradient(to bottom, black, transparent 82%);
  pointer-events: none;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  background: radial-gradient(circle at center, transparent 0 42%, rgba(0,0,0,0.42));
  pointer-events: none;
}

button, input, textarea, select { font: inherit; }
a { color: inherit; }

.app-shell {
  position: relative;
  z-index: 1;
  width: min(1760px, calc(100% - 28px));
  margin: 0 auto;
  padding: 24px 0 56px;
}

.topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 0 24px;
}

.brand-lockup {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.brand-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 3.2rem);
  line-height: 0.96;
  letter-spacing: -0.065em;
  font-weight: 850;
}

.brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(22, 240, 226, 0.34);
  background: linear-gradient(135deg, rgba(22,240,226,0.24), rgba(166,108,255,0.16));
  box-shadow: 0 0 36px rgba(22,240,226,0.14);
}

.brand-subtitle {
  margin: 0;
  color: var(--tv-muted);
  max-width: 850px;
  line-height: 1.5;
}

.top-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.tv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--tv-line);
  color: var(--tv-ink);
  background: rgba(255,255,255,0.035);
  padding: 10px 14px;
  border-radius: 999px;
  min-height: 42px;
  text-decoration: none;
  cursor: pointer;
  transition: border-color .15s ease, transform .15s ease, background .15s ease;
}

.tv-btn:hover, .tv-btn:focus-visible {
  border-color: rgba(22,240,226,0.42);
  background: rgba(255,255,255,0.055);
}

.tv-btn:active { transform: translateY(1px); }
.tv-btn.primary {
  border-color: rgba(22,240,226,0.48);
  background: linear-gradient(135deg, rgba(22,240,226,0.24), rgba(166,108,255,0.13));
}
.tv-btn.gold {
  border-color: rgba(244,176,42,0.5);
  background: linear-gradient(135deg, rgba(244,176,42,0.18), rgba(166,108,255,0.08));
}
.tv-btn.small {
  min-height: 34px;
  padding: 7px 10px;
  font-size: .88rem;
}
.tv-btn.subtle {
  color: var(--tv-muted);
  background: rgba(255,255,255,0.02);
}
.tv-btn.danger { border-color: rgba(255,102,102,0.38); }
.tv-btn.subtle:not([disabled]) {
  color: var(--tv-ink);
  border-color: rgba(205,183,255,0.22);
  background: rgba(205,183,255,0.045);
}
.tv-btn.subtle:not([disabled]):hover,
.tv-btn.subtle:not([disabled]):focus-visible {
  border-color: rgba(205,183,255,0.36);
  background: rgba(205,183,255,0.075);
}
.tv-btn[disabled] {
  opacity: .36;
  cursor: not-allowed;
  filter: grayscale(.35);
}

.notice-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  margin-bottom: 18px;
}

.notice-card, .source-card, .workspace, .modal-panel {
  border: 1px solid var(--tv-line);
  border-radius: var(--tv-radius);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.054), rgba(255,255,255,0.012)),
    var(--tv-surface);
  box-shadow: var(--tv-shadow);
}

.notice-card {
  padding: 16px 18px;
  color: var(--tv-muted);
  line-height: 1.55;
}
.notice-card strong { color: var(--tv-ink); }

.kicker {
  margin: 0 0 8px;
  color: var(--tv-cyan);
  font-size: .73rem;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.source-card {
  display: none;
  margin-bottom: 18px;
  padding: 18px;
}
.source-card.open { display: block; }
.source-card textarea {
  min-height: 108px;
  resize: vertical;
}

.form-control, .form-select {
  color: var(--tv-ink);
  border-color: var(--tv-line);
  background-color: rgba(2,3,5,0.52);
}
.form-control:focus, .form-select:focus {
  color: var(--tv-ink);
  background-color: rgba(2,3,5,0.72);
  border-color: rgba(22,240,226,0.62);
  box-shadow: 0 0 0 .2rem rgba(22,240,226,0.12);
}
.form-control::placeholder { color: var(--tv-muted-2); }
.form-label { color: var(--tv-muted); font-size: .9rem; }

.workspace-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
  gap: 16px;
  align-items: start;
}

.workspace {
  min-height: 520px;
  overflow: hidden;
}
.workspace-header {
  padding: 16px 16px 12px;
  border-bottom: 1px solid var(--tv-line-soft);
  background: rgba(0,0,0,0.16);
}
.workspace-title-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}
.workspace-title {
  margin: 0;
  font-size: 1.02rem;
  letter-spacing: -0.02em;
}
.workspace-subtitle {
  margin: 4px 0 0;
  color: var(--tv-muted);
  font-size: .85rem;
  line-height: 1.35;
}
.workspace-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}
.workspace-body {
  display: grid;
  grid-template-columns: minmax(160px, 0.44fr) minmax(0, 1fr);
  min-height: 640px;
}
.feed-pane {
  border-right: 1px solid var(--tv-line-soft);
  max-height: 78vh;
  overflow: auto;
  padding: 12px;
}
.detail-pane {
  max-height: 78vh;
  overflow: auto;
  padding: 14px;
}

.stat-pill, .badge-soft {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  border: 1px solid var(--tv-line-soft);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--tv-muted);
  background: rgba(255,255,255,0.025);
  font-size: .75rem;
  white-space: nowrap;
}
.badge-schema {
  color: var(--tv-ink);
  border-color: rgba(255,255,255,0.16);
}
.badge-schema.topic { color: var(--tv-cyan); }
.badge-schema.task { color: var(--tv-blue); }
.badge-schema.decision { color: var(--tv-gold); }
.badge-schema.evidence { color: var(--tv-green); }
.badge-schema.feedback { color: #ff93cf; }
.badge-schema.reduction { color: var(--tv-purple); }
.badge-schema.plain { color: var(--tv-muted); }

.feed-section-title {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  margin: 2px 0 10px;
  color: var(--tv-muted);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-weight: 800;
}
.node-card {
  width: 100%;
  text-align: left;
  color: inherit;
  border: 1px solid var(--tv-line-soft);
  border-radius: 16px;
  background: rgba(255,255,255,0.025);
  padding: 11px;
  margin-bottom: 10px;
  cursor: pointer;
}
.node-card:hover, .node-card.active {
  border-color: rgba(22,240,226,0.40);
  background: rgba(255,255,255,0.045);
}
.node-card.generated {
  border-color: rgba(88,255,154,0.34);
}
.node-card-title {
  display: block;
  margin: 6px 0 6px;
  font-weight: 760;
  line-height: 1.24;
  letter-spacing: -0.02em;
}
.node-card-summary {
  margin: 0;
  color: var(--tv-muted);
  font-size: .82rem;
  line-height: 1.38;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.node-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.empty-state {
  border: 1px dashed rgba(255,255,255,0.2);
  border-radius: 18px;
  padding: 18px;
  color: var(--tv-muted);
  line-height: 1.55;
  background: rgba(255,255,255,0.018);
}

.detail-top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}
.detail-title {
  margin: 0 0 8px;
  font-size: clamp(1.35rem, 2.6vw, 2.15rem);
  line-height: 1.02;
  letter-spacing: -0.052em;
}
.detail-summary {
  margin: 0 0 12px;
  color: var(--tv-muted);
  line-height: 1.55;
}
.detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}
.meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 8px;
  margin: 12px 0 14px;
}
.meta-item {
  border: 1px solid var(--tv-line-soft);
  border-radius: 14px;
  padding: 9px 10px;
  background: rgba(255,255,255,0.022);
}
.meta-label {
  display: block;
  color: var(--tv-muted-2);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .65rem;
  font-weight: 850;
  margin-bottom: 3px;
}
.meta-value {
  color: var(--tv-ink);
  font-size: .88rem;
  overflow-wrap: anywhere;
}

.markdown-view {
  color: #dce4f2;
  line-height: 1.62;
}
.markdown-view h1, .markdown-view h2, .markdown-view h3 {
  letter-spacing: -0.035em;
  margin: 1em 0 .45em;
}
.markdown-view h1 { font-size: 1.55rem; }
.markdown-view h2 { font-size: 1.18rem; color: var(--tv-cyan); }
.markdown-view h3 { font-size: 1.02rem; color: var(--tv-gold); }
.markdown-view p { color: #dce4f2; }
.markdown-view ul { padding-left: 1.25rem; }
.markdown-view li { margin: .2rem 0; }
.markdown-view blockquote {
  border-left: 3px solid rgba(22,240,226,0.44);
  padding-left: 12px;
  color: var(--tv-muted);
}
.markdown-view code, .source-block code {
  color: #f0f4ff;
  background: rgba(255,255,255,0.06);
  padding: .1rem .28rem;
  border-radius: 6px;
}
.markdown-view pre, .source-block {
  color: #f0f4ff;
  background: rgba(0,0,0,0.38);
  border: 1px solid var(--tv-line-soft);
  border-radius: 16px;
  padding: 13px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
}
.source-block {
  max-height: 72vh;
  font-size: .84rem;
  line-height: 1.45;
}

.modal-backdrop-custom {
  position: fixed;
  z-index: 50;
  inset: 0;
  display: flex;
  align-items: start;
  justify-content: center;
  padding: 34px 14px;
  background: rgba(0,0,0,0.68);
  overflow: auto;
}
.modal-panel {
  width: min(980px, 100%);
  padding: 18px;
}
.modal-header-lite {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  margin-bottom: 12px;
}
.modal-title-lite {
  margin: 0;
  font-size: 1.35rem;
  letter-spacing: -0.04em;
}
.schema-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}
.schema-option {
  border: 1px solid var(--tv-line-soft);
  border-radius: 18px;
  padding: 12px;
  background: rgba(255,255,255,0.025);
  cursor: pointer;
}
.schema-option.selected {
  border-color: rgba(22,240,226,0.52);
  background: rgba(22,240,226,0.075);
}
.schema-option.disabled {
  opacity: .45;
  cursor: not-allowed;
}
.schema-option strong { display: block; }
.schema-option span { display: block; color: var(--tv-muted); font-size: .82rem; line-height: 1.35; margin-top: 4px; }

.toast-stack {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 80;
  display: grid;
  gap: 8px;
  width: min(420px, calc(100% - 32px));
}
.toast-note {
  border: 1px solid var(--tv-line);
  border-radius: 16px;
  padding: 12px 13px;
  color: var(--tv-ink);
  background: rgba(5, 8, 15, .96);
  box-shadow: 0 16px 46px rgba(0,0,0,.38);
}
.toast-note.warn { border-color: rgba(244,176,42,0.46); }
.toast-note.error { border-color: rgba(255,102,102,0.46); }
.toast-note.ok { border-color: rgba(88,255,154,0.46); }

@media (max-width: 980px) {
  .notice-row { grid-template-columns: 1fr; }
  .workspace-body { grid-template-columns: 1fr; }
  .feed-pane { border-right: 0; border-bottom: 1px solid var(--tv-line-soft); max-height: 42vh; }
  .detail-pane { max-height: none; }
}

@media (max-width: 560px) {
  .app-shell { width: min(100% - 18px, 1760px); padding-top: 14px; }
  .topbar { padding-top: 10px; }
  .workspace-header, .detail-pane, .feed-pane, .source-card, .notice-card { padding: 12px; }
  .tv-btn { width: 100%; }
  .workspace-actions .tv-btn, .detail-actions .tv-btn, .top-actions .tv-btn { width: auto; }
}


.app-shell {
  padding-top: 8px;
  padding-bottom: 36px;
}
.topbar.compact {
  position: sticky;
  top: 0;
  z-index: 10;
  padding: 8px 0 10px;
  backdrop-filter: blur(14px);
  background: linear-gradient(180deg, rgba(3,4,7,0.92), rgba(3,4,7,0.52));
  border-bottom: 1px solid var(--tv-line-soft);
  margin-bottom: 10px;
}
.brand-inline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--tv-ink);
  text-decoration: none;
  font-weight: 820;
  letter-spacing: -0.025em;
  font-size: 1.08rem;
}
.brand-inline:hover { color: var(--tv-ink); }
.topbar.compact .brand-mark {
  width: 24px;
  height: 24px;
  border-radius: 8px;
}
.topbar.compact .top-actions { gap: 7px; }
.topbar.compact .tv-btn {
  min-height: 34px;
  padding: 7px 11px;
  font-size: .9rem;
}
.workspace-grid {
  align-items: start;
}
.workspace {
  min-height: 0;
}
.workspace.active {
  border-color: rgba(22,240,226,0.26);
}
.workspace.compact .workspace-header {
  border-bottom: 0;
}
.compact-preview {
  padding: 0 14px 14px;
}
.policy-note {
  margin-top: 9px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  color: var(--tv-muted);
  background: rgba(255,255,255,0.025);
  font-size: .86rem;
}
.policy-note.danger, .policy-callout.danger {
  border-color: rgba(255,102,102,0.36);
  background: rgba(255,102,102,0.08);
}
.stat-pill.policy.ok { border-color: rgba(88,255,154,0.32); color: var(--tv-green); }
.stat-pill.policy.warn { border-color: rgba(244,176,42,0.36); color: var(--tv-gold); }
.stat-pill.policy.danger { border-color: rgba(255,102,102,0.42); color: var(--tv-red); }
.stat-pill.policy.local { border-color: rgba(107,167,255,0.32); color: var(--tv-blue); }
.compact-detail .detail-title {
  margin-bottom: 8px;
}
.detail-summary {
  font-size: .98rem;
  line-height: 1.5;
}
.meta-grid.slim {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  margin-bottom: 12px;
}
.markdown-view.collapsed {
  border-style: dashed;
  background: rgba(255,255,255,0.018);
}
.collapsed-body {
  color: var(--tv-muted);
  padding: 16px;
}
.heading-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.heading-chip {
  display: inline-flex;
  border: 1px solid var(--tv-line-soft);
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--tv-muted);
  background: rgba(255,255,255,0.025);
  font-size: .82rem;
}
.policy-callout {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid var(--tv-line-soft);
  border-radius: 14px;
  color: var(--tv-muted);
  background: rgba(255,255,255,0.025);
  line-height: 1.45;
}
.app-footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  min-height: 16px;
  padding: 2px 10px;
  border-top: 1px solid rgba(255,255,255,0.07);
  background: rgba(3,4,7,0.88);
  color: rgba(245,247,251,0.58);
  font-size: 11px;
  line-height: 14px;
  text-align: center;
  backdrop-filter: blur(10px);
}
.app-footer a {
  color: rgba(245,247,251,0.78);
  text-decoration: none;
}
.app-footer a:hover {
  color: var(--tv-cyan);
}
@media (max-width: 760px) {
  .topbar.compact {
    position: static;
  }
  .brand-inline { width: 100%; }
  .topbar.compact .top-actions { justify-content: flex-start; }
}


html { min-height: 100%; scroll-behavior: auto; overflow-x: hidden; }
body { min-height: 100vh; overflow-x: hidden; }
.app-shell.app-shell-foundation {
  width: min(1880px, calc(100% - 24px));
  padding: 10px 0 34px;
}
.topbar-foundation {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 54px;
  padding: 8px 0;
  border-bottom: 1px solid var(--tv-line-soft);
  background: rgba(3, 4, 7, 0.82);
  backdrop-filter: blur(14px);
}
.brand-inline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 850;
  letter-spacing: -0.04em;
  color: var(--tv-ink);
}
.brand-inline .brand-mark { width: 24px; height: 24px; border-radius: 8px; }
.topbar-foundation .tv-btn { min-height: 34px; padding: 7px 12px; }
.workspace-foundation-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 620px), 1fr));
  gap: 14px;
  padding-top: 12px;
}
.workspace-foundation {
  min-height: 360px;
  display: flex;
  flex-direction: column;
}
.workspace-foundation.active { border-color: rgba(22,240,226,0.32); }
.workspace-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 13px 14px 10px;
  border-bottom: 1px solid var(--tv-line-soft);
  background: rgba(0,0,0,0.14);
}
.workspace-title { font-size: 1rem; letter-spacing: -0.02em; }
.workspace-subtitle { margin: 4px 0 0; color: var(--tv-muted); font-size: .82rem; }
.workspace-actions-foundation { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.workspace-actions-foundation .stat-pill { min-height: 30px; }
.workspace-policy-foundation { margin: 10px 14px 0; padding: 8px 11px; font-size: .82rem; }
.feed-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px 0;
}
.feed-mode { display: flex; align-items: center; gap: 8px; min-width: 0; }
.kicker-inline {
  color: var(--tv-cyan);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 850;
  white-space: nowrap;
}
.filter-chips { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.filter-chip {
  border: 1px solid var(--tv-line-soft);
  color: var(--tv-muted);
  background: rgba(255,255,255,0.025);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: .78rem;
  cursor: pointer;
}
.filter-chip.active, .filter-chip:hover { color: var(--tv-ink); border-color: rgba(22,240,226,0.38); background: rgba(22,240,226,0.06); }
.post-feed {
  display: grid;
  gap: 12px;
  padding: 12px 14px 18px;
  max-height: calc(100vh - 150px);
  overflow: auto;
  scrollbar-width: thin;
}
.post-feed.discovery { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); align-content: start; }
.post-feed.lineage { grid-template-columns: minmax(0, 1fr); max-width: 940px; margin-inline: auto; width: 100%; }
.lineage-post {
  border: 1px solid var(--tv-line-soft);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,0.046), rgba(255,255,255,0.012));
  box-shadow: 0 18px 60px rgba(0,0,0,.24);
  overflow: hidden;
}
.lineage-post.generated { border-color: rgba(88,255,154,0.28); }
.post-main { padding: 14px 15px 10px; cursor: pointer; }
.post-main:hover .post-title { color: var(--tv-cyan); }
.post-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.muted-chip { color: var(--tv-muted); }
.post-title {
  margin: 0 0 8px;
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  line-height: 1.05;
  letter-spacing: -0.045em;
}
.post-summary {
  color: var(--tv-muted);
  line-height: 1.48;
  margin: 0;
  font-size: .95rem;
}
.post-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 6px 9px 10px;
  border-top: 1px solid rgba(255,255,255,.055);
}
.icon-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--tv-muted);
  border-radius: 999px;
  padding: 6px 8px;
  font-size: .82rem;
  text-decoration: none;
  cursor: pointer;
}
.icon-action:hover, .icon-action:focus-visible { color: var(--tv-ink); border-color: var(--tv-line-soft); background: rgba(255,255,255,.035); }
.icon-action.gold:hover { border-color: rgba(244,176,42,.42); }
.icon-action[disabled] { opacity: .42; cursor: not-allowed; }
.continuity-preview {
  margin: 0 12px 8px;
  padding: 10px 12px;
  border: 1px dashed rgba(255,255,255,.26);
  border-radius: 14px;
  background: rgba(0,0,0,.18);
}
.preview-section + .preview-section { margin-top: 10px; }
.preview-section h4 {
  margin: 0 0 4px;
  color: var(--tv-cyan);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .14em;
}
.preview-section p, .preview-note { margin: 0; color: var(--tv-muted); line-height: 1.5; }
.compact-row-foundation {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 14px;
  color: var(--tv-muted);
}
.empty-feed-card {
  padding: 26px;
  max-width: 640px;
  margin: 28px auto;
  text-align: center;
}
.empty-feed-card h2 { letter-spacing: -0.04em; }
.empty-feed-card p { color: var(--tv-muted); }
.focus-modal.modal-backdrop-custom {
  align-items: stretch;
  padding: 24px;
  overflow: auto;
}
.focus-modal .modal-panel {
  width: min(1120px, 100%);
  max-height: none;
  margin: auto;
}
.source-modal-panel { max-width: 920px; }
.read-modal-panel { max-width: 1120px; min-height: min(760px, calc(100vh - 64px)); }
.source-choice-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
}
.source-wide { grid-column: 1 / -1; }
.source-url-box { min-height: 160px; }
.modal-footer-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.sticky-modal-head {
  position: sticky;
  top: 0;
  z-index: 3;
  background: rgba(11,15,24,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--tv-line-soft);
  margin: -26px -26px 18px;
  padding: 18px 26px;
  border-top-left-radius: var(--tv-radius);
  border-top-right-radius: var(--tv-radius);
}
.modal-read-body { color: var(--tv-ink); }
.detail-read-head p { color: var(--tv-muted); max-width: 820px; }
.soft-rule { border-color: var(--tv-line-soft); margin: 18px 0; }
.modal-source {
  max-height: calc(100vh - 190px);
  overflow: auto;
  border-radius: 16px;
}
.app-footer {
  height: 16px;
  min-height: 16px;
  font-size: 11px;
  line-height: 16px;
  padding: 0;
  opacity: .72;
}
.tv-btn.tiny { min-height: 27px; padding: 4px 8px; font-size: .76rem; }
@media (max-width: 900px) {
  .workspace-strip, .feed-toolbar, .source-choice-grid { grid-template-columns: 1fr; }
  .feed-toolbar { align-items: flex-start; flex-direction: column; }
  .post-feed { max-height: none; }
  .focus-modal.modal-backdrop-custom { padding: 10px; }
}


html, body { height: 100%; overflow: hidden; }
body { min-height: 100%; }
.app-shell.app-shell-foundation {
  width: calc(100% - 24px);
  max-width: none;
  height: calc(100vh - 16px);
  padding: 8px 0 20px;
  display: flex;
  flex-direction: column;
}
.topbar-foundation {
  flex: 0 0 auto;
  min-height: 46px;
  padding: 6px 0;
}
.workspace-foundation-grid {
  display: flex !important;
  grid-template-columns: none !important;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 14px;
  padding: 10px 2px 14px;
  overflow-x: auto;
  overflow-y: hidden;
  min-height: 0;
  flex: 1 1 auto;
  scroll-snap-type: x proximity;
}
.workspace-foundation {
  flex: 0 0 clamp(520px, 42vw, 760px);
  max-width: clamp(520px, 42vw, 760px);
  min-width: 520px;
  height: 100%;
  min-height: 0;
  scroll-snap-align: start;
}
.workspace-foundation.active {
  flex-basis: clamp(620px, 48vw, 860px);
  max-width: clamp(620px, 48vw, 860px);
}
.workspace-foundation.compact {
  flex-basis: 340px;
  max-width: 340px;
  min-width: 300px;
}
.post-feed {
  max-height: none;
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  scrollbar-width: thin;
}
.post-feed.discovery {
  grid-template-columns: minmax(0, 1fr);
}
.workspace-strip {
  flex: 0 0 auto;
}
.feed-toolbar {
  flex: 0 0 auto;
}
.source-modal-panel .source-choice-grid {
  align-items: start;
}
.form-text code {
  color: var(--tv-cyan);
  background: rgba(255,255,255,.06);
  border: 1px solid var(--tv-line-soft);
  border-radius: 6px;
  padding: 1px 5px;
}
@media (max-width: 760px) {
  html, body { overflow: auto; }
  .app-shell.app-shell-foundation { height: auto; min-height: calc(100vh - 16px); }
  .workspace-foundation-grid { flex-direction: column; overflow: visible; height: auto; }
  .workspace-foundation, .workspace-foundation.active, .workspace-foundation.compact { flex-basis: auto; max-width: none; min-width: 0; height: auto; }
  .post-feed { max-height: none; overflow: visible; }
}


html, body {
  overflow: hidden;
}

.app-shell.app-shell-main {
  width: calc(100% - 20px);
  height: calc(100vh - 16px);
  padding: 6px 0 18px;
}

.topbar-shell {
  min-height: 44px;
  padding: 5px 0;
}

.topbar-shell .brand-inline {
  font-size: .98rem;
}

.workspace-shell-grid {
  display: grid !important;
  overflow: hidden !important;
  gap: 12px;
  flex: 1 1 auto;
  min-height: 0;
  padding: 8px 0 12px;
}

.workspace-shell-grid.columns-1 { grid-template-columns: minmax(0, 1fr); }
.workspace-shell-grid.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-shell-grid.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.workspace-shell,
.workspace-shell.active,
.workspace-shell.compact {
  min-width: 0;
  max-width: none;
  flex: initial;
  width: auto;
  height: 100%;
  min-height: 0;
}

.workspace-shell-strip {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  align-items: center;
  padding: 10px 12px 8px;
}

.workspace-shell .workspace-title {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 0;
  max-width: 260px;
  white-space: normal;
  line-height: 1.1;
}

.workspace-actions-shell {
  gap: 5px;
  align-items: center;
  justify-content: flex-end;
}

.workspace-actions-shell .stat-pill,
.workspace-actions-shell .tv-btn.small {
  min-height: 28px;
  padding: 5px 8px;
  font-size: .78rem;
}

.workspace-actions-shell .policy {
  max-width: 138px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ref-sup {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  border: 1px solid var(--tv-line-soft);
  border-radius: 999px;
  padding: 1px 6px;
  font-size: .62rem;
  line-height: 1.25;
  color: var(--tv-muted);
  text-decoration: none;
  letter-spacing: 0;
}

.ref-sup:hover {
  color: var(--tv-cyan);
  border-color: rgba(22,240,226,.35);
}

.active-chip {
  font-size: .62rem;
  padding: 2px 6px;
}

.workspace-policy-shell {
  margin: 8px 12px 0;
  padding: 7px 10px;
  font-size: .78rem;
}

.workspace-pager {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 30px;
  color: var(--tv-muted);
}

.pager-btn {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid var(--tv-line-soft);
  background: rgba(255,255,255,.025);
  color: var(--tv-muted);
}

.pager-btn:hover:not([disabled]) {
  color: var(--tv-ink);
  border-color: rgba(22,240,226,.4);
}

.pager-btn[disabled] {
  opacity: .35;
  cursor: not-allowed;
}

.pager-label {
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.post-feed {
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
}

.lineage-post {
  overflow: visible;
}

.lineage-post.expanded {
  overflow: visible;
}

.lineage-post.expanded .continuity-preview {
  max-height: none;
  overflow: visible;
}

.continuity-preview {
  overflow: visible;
}

.preview-section p {
  overflow-wrap: anywhere;
}

.post-actions {
  position: relative;
  z-index: 1;
  background: rgba(11,15,24,.64);
  border-bottom-left-radius: 18px;
  border-bottom-right-radius: 18px;
}

.focus-modal-shell {
  padding: 18px;
  overflow: hidden;
}

.read-modal-panel-shell {
  height: min(820px, calc(100vh - 36px));
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.modal-head-shell {
  position: relative !important;
  top: auto !important;
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 18px 22px !important;
  border-radius: var(--tv-radius) var(--tv-radius) 0 0 !important;
  background: rgba(11,15,24,.98);
}

.modal-scroll-shell {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 20px 22px 24px;
}

.modal-scroll-shell .continuity-preview {
  margin: 0 0 18px;
}

.modal-scroll-shell .modal-source {
  max-height: none;
  min-height: 100%;
}

@media (max-width: 1499px) {
  .workspace-shell-grid.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 979px) {
  html, body { overflow: hidden; }
  .workspace-shell-grid,
  .workspace-shell-grid.columns-1,
  .workspace-shell-grid.columns-2,
  .workspace-shell-grid.columns-3 {
    grid-template-columns: minmax(0, 1fr);
  }
  .workspace-shell .workspace-title { max-width: 70vw; }
  .workspace-shell-strip {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .workspace-actions-shell {
    justify-content: flex-start;
  }
  .filter-chips {
    justify-content: flex-start;
  }
  .focus-modal-shell {
    padding: 8px;
  }
  .read-modal-panel-shell {
    height: calc(100vh - 16px);
  }
}

@media (max-width: 560px) {
  .top-actions .tv-btn span,
  .top-actions .tv-btn:not(.primary) {
    font-size: .78rem;
  }
  .brand-inline span:last-child {
    display: none;
  }
  .post-actions .icon-action span {
    display: none;
  }
}


#workspace-grid.workspace-shell-grid {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  overflow: hidden !important;
}

#workspace-grid.workspace-shell-grid.columns-1 {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-columns: initial;
}

#workspace-grid.workspace-shell-grid.columns-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-columns: initial;
}

#workspace-grid.workspace-shell-grid.columns-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-columns: initial;
}

#workspace-grid.workspace-shell-grid > .workspace.workspace-shell {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  display: flex;
  flex-direction: column;
}

#workspace-grid.workspace-shell-grid > .workspace.workspace-shell .post-feed {
  flex: 1 1 auto;
}

@media (max-width: 1499px) {
  #workspace-grid.workspace-shell-grid.columns-3,
  #workspace-grid.workspace-shell-grid.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 979px) {
  #workspace-grid.workspace-shell-grid.columns-3,
  #workspace-grid.workspace-shell-grid.columns-2,
  #workspace-grid.workspace-shell-grid.columns-1 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


.integrity-badge {
  gap: 5px;
  white-space: nowrap;
}

.integrity-badge.ok {
  color: #8fffc0;
  border-color: rgba(88,255,154,.35);
  background: rgba(88,255,154,.075);
}

.integrity-badge.pending {
  color: #f7d27a;
  border-color: rgba(244,176,42,.28);
  background: rgba(244,176,42,.055);
}

.integrity-badge.warn {
  color: #ffd28a;
  border-color: rgba(244,176,42,.42);
  background: rgba(244,176,42,.075);
}

.integrity-badge.danger {
  color: #ff9a9a;
  border-color: rgba(255,79,79,.5);
  background: rgba(255,79,79,.08);
}

.integrity-badge.muted {
  color: var(--tv-muted);
}

.lineage-loader,
.lineage-terminal {
  margin: 10px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--tv-line-soft);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
  color: var(--tv-muted);
  font-size: .84rem;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}

.lineage-loader .tv-btn {
  flex: 0 0 auto;
}

.lineage-terminal {
  justify-content: flex-start;
}

.lineage-terminal.ok {
  color: #8fffc0;
  border-color: rgba(88,255,154,.22);
}

.lineage-terminal.warn {
  color: #ffd28a;
  border-color: rgba(244,176,42,.28);
}

.lineage-terminal.danger {
  color: #ff9a9a;
  border-color: rgba(255,79,79,.35);
}

.post-chips {
  align-items: center;
}

@media (max-width: 560px) {
  .integrity-badge {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}


.lineage-terminal.pending {
  color: #f7d27a;
  border-color: rgba(244,176,42,.24);
  background: rgba(244,176,42,.04);
}


.feed-toolbar-foundation {
  gap: 10px;
  align-items: center;
}

.feed-toolbar-foundation .feed-mode {
  gap: 8px;
  min-width: fit-content;
}

.back-button {
  padding-inline: 10px !important;
  min-width: auto !important;
}

.discovery-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: wrap;
}

.lineage-search-wrap {
  display: flex;
  justify-content: flex-end;
  min-width: 180px;
  flex: 1 1 auto;
}

.search-box {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 180px;
  max-width: 260px;
  height: 32px;
  border: 1px solid var(--tv-line-soft);
  border-radius: 999px;
  background: rgba(255,255,255,.025);
  color: var(--tv-muted);
  padding: 0 10px;
}

.search-box.active {
  border-color: rgba(22,240,226,.38);
  background: rgba(22,240,226,.045);
}

.search-box input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: var(--tv-ink);
  background: transparent;
  font: inherit;
  font-size: .78rem;
}

.search-box input::placeholder {
  color: rgba(180,188,204,.62);
}

.search-clear {
  border: 0;
  background: transparent;
  color: var(--tv-muted);
  padding: 0;
  display: inline-flex;
  align-items: center;
}

.search-clear:hover {
  color: var(--tv-ink);
}

.lineage-search-legend {
  margin: 0 0 8px;
  padding: 8px 11px;
  border: 1px dashed var(--tv-line-soft);
  border-radius: 14px;
  color: var(--tv-muted);
  font-size: .78rem;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.muted-mini {
  opacity: .72;
  font-size: .74rem;
}

.lineage-skim-line {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 18px;
  margin: 2px 4px;
  opacity: .6;
}

.skim-index {
  min-width: 22px;
  font-size: .66rem;
  color: var(--tv-muted);
  text-align: right;
}

.skim-rule {
  height: 1px;
  flex: 1 1 auto;
  background: linear-gradient(90deg, rgba(180,188,204,.28), rgba(180,188,204,.06));
}

@media (max-width: 1220px) {
  .search-box {
    min-width: 150px;
    max-width: 210px;
  }
  .discovery-tools {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .feed-toolbar-foundation,
  .discovery-tools {
    align-items: flex-start;
  }
  .lineage-search-wrap,
  .search-box {
    width: 100%;
    max-width: none;
  }
}


.feed-toolbar-shell {
  align-items: center;
}

.discovery-tools-foundation {
  flex-wrap: nowrap;
}

.filter-select-wrap {
  height: 32px;
  min-width: 112px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--tv-line-soft);
  border-radius: 999px;
  padding: 0 9px 0 11px;
  color: var(--tv-muted);
  background: rgba(255,255,255,.025);
  font-size: .76rem;
}

.filter-select-wrap span {
  opacity: .78;
}

.filter-select-wrap select {
  border: 0;
  outline: 0;
  color: var(--tv-ink);
  background: transparent;
  font: inherit;
  max-width: 86px;
  cursor: pointer;
}

.filter-select-wrap select option {
  color: #0f1720;
  background: #f8fafc;
}

.feed-toolbar-shell.discovery .filter-chips {
  display: none !important;
}

.feed-toolbar-shell .search-box {
  flex: 1 1 auto;
}

@media (max-width: 1220px) {
  .discovery-tools-foundation {
    flex-wrap: wrap;
  }
  .filter-select-wrap {
    min-width: 104px;
  }
}

@media (max-width: 760px) {
  .discovery-tools-foundation {
    width: 100%;
  }
  .filter-select-wrap {
    width: 100%;
    justify-content: space-between;
  }
  .filter-select-wrap select {
    max-width: none;
  }
}


.post-feed > .lineage-post,
.post-feed > .lineage-terminal,
.post-feed > .lineage-loader,
.post-feed > .empty-state,
.lineage-post,
.lineage-terminal,
.lineage-loader {
  flex: 0 0 auto !important;
  align-self: stretch;
  height: auto !important;
  min-height: 0 !important;
  max-height: none;
}

.post-feed.lineage,
.post-feed.discovery {
  align-content: start;
}

.lineage-post .post-main {
  min-height: 0 !important;
}

.lineage-post:not(.expanded) .post-main {
  padding-bottom: 14px;
}

.lineage-terminal {
  min-height: 0 !important;
  padding: 14px 16px !important;
}

.post-feed.lineage > .lineage-terminal,
.lineage-terminal {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem;
}

.lineage-terminal > i {
  flex: 0 0 auto;
  inline-size: 1.15em;
  text-align: center;
  line-height: 1;
}

.lineage-terminal.ok,
.lineage-terminal.warn,
.lineage-terminal.danger {
  min-height: 0 !important;
}

.lineage-loader {
  min-height: 0 !important;
  padding: 12px 14px !important;
}

.empty-state {
  min-height: 0 !important;
  padding: 24px 28px !important;
}

.continuity-preview {
  min-height: 0 !important;
}


.post-feed.lineage {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  align-content: normal !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  grid-template-columns: none !important;
  grid-auto-flow: row !important;
}

.post-feed.lineage > .lineage-post,
.post-feed.lineage > .lineage-terminal,
.post-feed.lineage > .lineage-loader,
.post-feed.lineage > .empty-state,
.post-feed.lineage > .lineage-search-legend,
.post-feed.lineage > .lineage-skim-line {
  position: relative !important;
  display: block;
  flex: 0 0 auto !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden;
}

.post-feed.lineage > .lineage-terminal {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 0.65rem !important;
}

.post-feed.lineage > .lineage-skim-line {
  display: flex;
}

.lineage-post .post-main,
.lineage-post .continuity-preview,
.lineage-post .post-actions {
  position: relative !important;
  display: block;
  height: auto !important;
  min-height: 0 !important;
}

.lineage-post .post-actions {
  display: flex !important;
}

.lineage-post .post-title,
.lineage-post .post-summary,
.lineage-post .post-chips {
  position: relative !important;
  display: block;
}

.lineage-post .post-chips {
  display: flex;
}


.app-shell.app-shell-main {
  height: calc(100vh - 28px);
  padding-bottom: 28px;
}

.app-footer {
  height: 28px !important;
  min-height: 28px !important;
  padding: 6px 0 7px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  color: rgba(210,216,228,.72) !important;
  letter-spacing: 0 !important;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.66);
}

.app-footer a {
  color: rgba(235,240,248,.86) !important;
  text-decoration: none;
}

.app-footer a:hover {
  color: var(--tv-cyan) !important;
  text-decoration: underline;
}

/* Filter comes before search in discovery. Keep it compact on desktop. */
.discovery-tools-layout {
  flex-direction: row;
  justify-content: flex-end;
}

.discovery-tools-layout .filter-select-wrap {
  flex: 0 0 auto;
}

.discovery-tools-layout .search-box {
  flex: 1 1 190px;
}

@media (max-width: 760px) {
  .discovery-tools-layout {
    flex-direction: column;
  }
  .discovery-tools-layout .filter-select-wrap,
  .discovery-tools-layout .search-box {
    width: 100%;
  }
}


.lineage-search-legend.hydration {
  border-style: solid;
  border-color: rgba(22,240,226,.25);
  background: rgba(22,240,226,.04);
  color: var(--tv-cyan);
}

.post-feed.lineage {
  scroll-behavior: auto;
  overflow-anchor: none;
}

.lineage-post,
.lineage-terminal,
.lineage-loader,
.lineage-search-legend,
.lineage-skim-line {
  overflow-anchor: none;
}

.feed-toolbar-polish .search-box input {
  min-width: 0;
}


.post-main-toggle {
  cursor: pointer;
  transition: background-color .14s ease, border-color .14s ease;
}

.post-main-toggle:hover .post-title {
  color: var(--tv-ink);
  text-decoration: underline;
  text-decoration-color: rgba(22,240,226,.35);
  text-underline-offset: 3px;
}

.lineage-post.expanded .post-main-toggle {
  border-bottom-color: rgba(22,240,226,.12);
}

.target-action {
  margin-left: auto;
}

.target-action.active-target {
  color: #8fffc0;
  border-color: rgba(88,255,154,.28);
}

.target-action.active-target span::after {
  content: "";
}

.post-actions .icon-action:first-child {
  margin-left: 0;
}

@media (max-width: 560px) {
  .target-action {
    margin-left: 0;
  }
}


.post-main-target,
.post-main-toggle {
  cursor: pointer;
}

.post-main-target:hover .post-title,
.post-main-toggle:hover .post-title {
  color: var(--tv-ink);
  text-decoration: underline;
  text-decoration-color: rgba(22,240,226,.35);
  text-underline-offset: 3px;
}

.post-main-target:hover .post-title::after {
  content: "  ↦";
  color: var(--tv-cyan);
  font-size: .82em;
}

.post-main-toggle:hover .post-title::after {
  content: "  ↕";
  color: var(--tv-cyan);
  font-size: .82em;
}

.anchor-action {
  margin-left: auto;
}

.anchor-action.active-target {
  color: #8fffc0;
  border-color: rgba(88,255,154,.28);
}

@media (max-width: 560px) {
  .anchor-action {
    margin-left: 0;
  }
}


.post-actions .anchor-action {
  margin-left: 0 !important;
}

.post-actions .anchor-action.active-target {
  color: #8fffc0;
  border-color: rgba(88,255,154,.28);
}


:root {
  --collapsed-workspace-width: clamp(74px, 6.2vw, 92px);
}

#workspace-grid.workspace-grid-layout {
  grid-template-columns: var(--workspace-columns, repeat(3, minmax(0, 1fr))) !important;
}

.collapsed-workspace {
  min-width: var(--collapsed-workspace-width) !important;
  max-width: var(--collapsed-workspace-width) !important;
  width: var(--collapsed-workspace-width) !important;
  overflow: hidden;
}

.collapsed-workspace-inner {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 11px;
  padding: 12px 8px;
}

.collapsed-workspace-title {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.collapsed-workspace-title span {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  color: var(--tv-ink);
  font-weight: 800;
  font-size: .82rem;
  letter-spacing: .02em;
  max-height: 46vh;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.collapsed-workspace-stats {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  color: var(--tv-muted);
  font-size: .74rem;
}

.collapsed-workspace-stats span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.collapsed-workspace-button {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid var(--tv-line-soft);
  background: rgba(255,255,255,.035);
  color: var(--tv-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.collapsed-workspace-button:hover {
  color: var(--tv-cyan);
  border-color: rgba(22,240,226,.38);
}

.collapsed-workspace-button.subtle {
  opacity: .72;
}

.collapsed-warning {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(255,95,95,.36);
  color: #ff9a9a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,79,79,.075);
}

/* Very small viewport pass. Keep controls tappable but avoid giant stretched inputs. */
@media (max-width: 520px) {
  html,
  body {
    overflow: hidden;
  }

  .app-shell.app-shell-layout {
    width: 100%;
    height: calc(100dvh - 28px);
    padding: 6px 8px 28px;
  }

  .topbar-layout {
    min-height: auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 4px 0 6px;
  }

  .topbar-layout .brand-inline {
    width: 100%;
    justify-content: flex-start;
    padding-left: 2px;
  }

  .topbar-layout .brand-inline span:last-child {
    display: inline;
    font-size: .82rem;
  }

  .workspace-top-actions-layout {
    width: 100%;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
  }

  .workspace-top-actions-layout .tv-btn {
    min-height: 32px;
    padding: 6px 10px;
    font-size: .78rem;
  }

  .workspace-pager {
    min-height: 26px;
    gap: 8px;
  }

  .pager-label {
    font-size: .68rem;
  }

  #workspace-grid.workspace-grid-layout,
  #workspace-grid.workspace-grid-layout.columns-1,
  #workspace-grid.workspace-grid-layout.columns-2,
  #workspace-grid.workspace-grid-layout.columns-3 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px;
    padding: 6px 0 8px;
  }

  .collapsed-workspace {
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    min-height: 72px;
  }

  .collapsed-workspace-inner {
    flex-direction: row;
    height: auto;
    padding: 10px 12px;
  }

  .collapsed-workspace-title {
    justify-content: flex-start;
  }

  .collapsed-workspace-title span {
    writing-mode: horizontal-tb;
    transform: none;
    max-height: none;
    max-width: 54vw;
  }

  .collapsed-workspace-stats {
    flex-direction: row;
    margin-left: auto;
  }

  .workspace-shell-strip {
    grid-template-columns: minmax(0,1fr);
    gap: 8px;
    padding: 10px 10px 8px;
  }

  .workspace-title {
    max-width: calc(100vw - 120px) !important;
    font-size: .9rem;
  }

  .workspace-actions-shell {
    justify-content: flex-start;
    gap: 5px;
  }

  .workspace-actions-shell .stat-pill,
  .workspace-actions-shell .tv-btn.small,
  .workspace-actions-shell .policy {
    min-height: 28px;
    padding: 5px 7px;
    font-size: .72rem;
  }

  .workspace-policy-shell {
    margin: 7px 10px 0;
    padding: 7px 9px;
    font-size: .74rem;
  }

  .feed-toolbar-layout,
  .feed-toolbar-shell,
  .feed-toolbar-foundation,
  .feed-toolbar {
    align-items: stretch;
    gap: 8px;
  }

  .feed-mode {
    justify-content: space-between;
    width: 100%;
  }

  .discovery-tools-layout,
  .discovery-tools-foundation,
  .discovery-tools {
    width: 100%;
    display: flex;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 6px;
  }

  .filter-select-wrap {
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 8px;
  }

  .filter-select-wrap span {
    display: none;
  }

  .filter-select-wrap select {
    width: 100%;
    max-width: 100%;
    font-size: .76rem;
  }

  .search-box {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 9px;
    border-radius: 999px !important;
  }

  .search-box input {
    min-width: 0;
    font-size: .76rem;
  }

  .lineage-search-wrap {
    width: 100%;
    min-width: 0;
  }

  .post-feed {
    padding: 8px 10px 12px;
  }

  .lineage-post {
    border-radius: 15px;
  }

  .post-main {
    padding: 13px 13px 12px;
  }

  .post-title {
    font-size: 1rem;
    line-height: 1.15;
  }

  .post-summary {
    font-size: .82rem;
  }

  .post-actions {
    gap: 4px;
    padding: 8px 10px;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .post-actions .icon-action {
    flex: 0 0 auto;
    min-width: 32px;
  }

  .post-actions .icon-action span {
    display: none;
  }

  .continuity-preview {
    margin: 0 12px 12px;
    padding: 10px 11px;
  }

  .preview-section h4 {
    font-size: .72rem;
  }

  .preview-section p {
    font-size: .82rem;
  }
}

@media (max-width: 360px) {
  .workspace-top-actions-layout .tv-btn {
    padding-inline: 8px;
    font-size: .72rem;
  }

  .filter-select-wrap {
    flex-basis: 88px !important;
    width: 88px !important;
    min-width: 88px !important;
  }

  .search-box input {
    font-size: .72rem;
  }
}


.app-shell.app-shell-main,
.app-shell.app-shell-layout {
  height: calc(100vh - 34px) !important;
  padding-bottom: 6px !important;
}

.workspace-grid.workspace-shell-grid,
.workspace-grid.workspace-grid-layout {
  padding-bottom: 6px !important;
}

.app-footer {
  height: 34px !important;
  min-height: 34px !important;
  padding: 9px 0 10px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  color: rgba(220,226,238,.78) !important;
  background: rgba(0,0,0,.78) !important;
}

.app-footer a {
  font-weight: 650;
  color: rgba(240,245,255,.92) !important;
}

@media (max-width: 520px) {
  .app-shell.app-shell-main,
  .app-shell.app-shell-layout {
    height: calc(100dvh - 34px) !important;
    padding: 6px 8px 6px !important;
  }

  #workspace-grid.workspace-grid-layout,
  #workspace-grid.workspace-grid-layout.columns-1,
  #workspace-grid.workspace-grid-layout.columns-2,
  #workspace-grid.workspace-grid-layout.columns-3 {
    padding-bottom: 4px !important;
  }

  .app-footer {
    height: 34px !important;
    min-height: 34px !important;
    font-size: 12.5px !important;
    padding-top: 9px !important;
  }
}


.workspace-pager .pager-btn {
  touch-action: manipulation;
}

.workspace-policy-toolbar {
  display: block;
}

.workspace-policy-toolbar summary {
  cursor: pointer;
  list-style: none;
  font-weight: 700;
}

.workspace-policy-toolbar summary::-webkit-details-marker {
  display: none;
}

.workspace-policy-toolbar span {
  margin-left: 4px;
}

@media (max-width: 640px) {
  html, body {
    background: #071015;
  }

  .app-shell.app-shell-layout,
  .app-shell.app-shell-main {
    width: 100%;
    max-width: 100%;
    height: calc(100dvh - 34px) !important;
    padding: 4px 6px 4px !important;
  }

  .topbar-layout,
  .topbar-actions {
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "brand actions";
    align-items: center;
    gap: 6px;
    min-height: 38px !important;
    padding: 2px 0 4px !important;
  }

  .topbar-actions .brand-inline,
  .topbar-layout .brand-inline {
    grid-area: brand;
    width: auto;
    min-width: 0;
    gap: 6px;
    padding: 0;
  }

  .topbar-actions .brand-mark,
  .topbar-layout .brand-mark {
    width: 18px;
    height: 18px;
  }

  .topbar-actions .brand-inline span:last-child,
  .topbar-layout .brand-inline span:last-child {
    display: none !important;
  }

  .workspace-top-actions-layout,
  .workspace-top-actions-toolbar {
    grid-area: actions;
    width: auto;
    justify-content: flex-end;
    gap: 5px;
    flex-wrap: nowrap;
  }

  .workspace-top-actions-toolbar .tv-btn,
  .workspace-top-actions-layout .tv-btn {
    min-height: 30px;
    height: 30px;
    padding: 5px 9px;
    font-size: 0;
    gap: 0;
  }

  .workspace-top-actions-toolbar .tv-btn.primary,
  .workspace-top-actions-layout .tv-btn.primary {
    font-size: .72rem;
    gap: 5px;
    padding-inline: 10px;
  }

  .workspace-top-actions-toolbar .tv-btn:not(.primary) i,
  .workspace-top-actions-layout .tv-btn:not(.primary) i {
    font-size: .82rem;
  }

  .workspace-pager.workspace-pager {
    height: 28px;
    min-height: 28px;
    padding: 0;
  }

  .workspace-pager .pager-btn {
    width: 30px;
    height: 30px;
  }

  .workspace-pager .pager-label {
    font-size: .66rem;
    max-width: 148px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #workspace-grid.workspace-grid-layout,
  #workspace-grid.workspace-grid-layout.columns-1,
  #workspace-grid.workspace-grid-layout.columns-2,
  #workspace-grid.workspace-grid-layout.columns-3 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px;
    padding: 4px 0 4px !important;
    touch-action: pan-y;
  }

  .workspace-panel-layout {
    border-radius: 18px;
  }

  .workspace-panel-layout-strip {
    padding: 8px 9px 6px !important;
    gap: 6px;
  }

  .workspace-panel-layout .workspace-title {
    font-size: .9rem;
    max-width: 72vw !important;
  }

  .workspace-actions-toolbar {
    gap: 4px !important;
  }

  .workspace-actions-toolbar .stat-pill,
  .workspace-actions-toolbar .tv-btn.small,
  .workspace-actions-toolbar .policy {
    min-height: 26px !important;
    height: 26px !important;
    padding: 4px 7px !important;
    font-size: .7rem !important;
  }

  .workspace-actions-toolbar .stat-drafts,
  .workspace-actions-toolbar .save-action:disabled,
  .workspace-actions-toolbar .add-action,
  .workspace-actions-toolbar .remove-action {
    display: none !important;
  }

  .workspace-actions-toolbar .policy {
    max-width: 138px;
  }

  .workspace-policy-toolbar {
    margin: 6px 9px 0 !important;
    padding: 6px 8px !important;
    font-size: .72rem !important;
    border-radius: 11px !important;
  }

  .workspace-policy-toolbar:not([open]) span {
    display: none;
  }

  .workspace-policy-toolbar summary {
    display: inline;
  }

  .feed-toolbar {
    padding: 8px 9px 0;
  }

  .kicker-inline {
    font-size: .7rem;
    letter-spacing: .12em;
  }

  .back-button {
    height: 28px;
  }
}

@media (max-width: 390px) {
  .workspace-top-actions-toolbar .tv-btn.primary,
  .workspace-top-actions-layout .tv-btn.primary {
    font-size: 0;
    gap: 0;
    width: 34px;
    padding-inline: 0;
  }

  .workspace-top-actions-toolbar .tv-btn.primary i,
  .workspace-top-actions-layout .tv-btn.primary i {
    font-size: .9rem;
  }

  .workspace-actions-toolbar .stat-leaves {
    display: none !important;
  }

  .workspace-actions-toolbar .policy {
    max-width: 120px;
  }

  .workspace-pager .pager-label {
    max-width: 118px;
  }
}


.policy-note,
.workspace-policy-foundation,
.workspace-policy-shell,
.workspace-policy-toolbar {
  display: none !important;
}

/* Keep mobile workspace header tighter now that the duplicate policy row is gone. */
@media (max-width: 640px) {
  .feed-toolbar {
    padding-top: 8px !important;
  }

  .workspace-panel-layout-strip {
    padding-bottom: 8px !important;
  }
}


#workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-1,
#workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-2,
#workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-3 {
  grid-template-columns: var(--workspace-columns, repeat(3, minmax(0, 1fr))) !important;
}

#workspace-grid.workspace-grid-columns > .collapsed-workspace {
  width: var(--collapsed-workspace-width) !important;
  min-width: var(--collapsed-workspace-width) !important;
  max-width: var(--collapsed-workspace-width) !important;
  justify-self: stretch;
}

@media (max-width: 640px) {
  #workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-1,
  #workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-2,
  #workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-3 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #workspace-grid.workspace-grid-columns > .collapsed-workspace {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}


:root {
  --collapsed-workspace-width: clamp(58px, 4.4vw, 68px);
}

.collapsed-workspace-inner {
  padding-inline: 6px !important;
  gap: 9px !important;
}

.collapsed-workspace-button {
  width: 30px !important;
  height: 30px !important;
}

.collapsed-workspace-stats {
  gap: 4px !important;
  font-size: .68rem !important;
}

.collapsed-warning {
  width: 26px !important;
  height: 26px !important;
}

.collapsed-workspace-title span {
  font-size: .78rem !important;
}


.repo-discovery-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.source-section {
  border: 1px solid var(--tv-line-soft);
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.018);
}

.source-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  font-size: .86rem;
  color: var(--tv-ink);
  letter-spacing: .03em;
}

.repo-discovery-row {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(0, .8fr) minmax(0, 1fr);
  gap: 10px;
}

@media (max-width: 760px) {
  .repo-discovery-grid,
  .repo-discovery-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .source-section {
    padding: 12px;
  }
}


.post-feed.discovery {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  align-content: normal !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  grid-template-columns: none !important;
  grid-auto-flow: row !important;
}

.post-feed.discovery > .lineage-post,
.post-feed.discovery > .empty-state {
  position: relative !important;
  display: block;
  flex: 0 0 auto !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden;
}

.post-feed.discovery > .lineage-post .post-main,
.post-feed.discovery > .lineage-post .continuity-preview,
.post-feed.discovery > .lineage-post .post-actions {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
}

.post-feed.discovery > .lineage-post .post-actions {
  display: flex !important;
}


.view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  border: 1px solid var(--tv-line-soft);
  border-radius: 999px;
  padding: 2px;
  background: rgba(255,255,255,.025);
}

.view-toggle-btn {
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--tv-muted);
  padding: 4px 10px;
  font-size: .74rem;
  line-height: 1;
}

.view-toggle-btn.active {
  background: rgba(22,240,226,.12);
  color: var(--tv-cyan);
}

.post-feed.discovery.view-tree {
  gap: 8px !important;
}

.discovery-tree {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.tree-root-note {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--tv-muted);
  font-size: .78rem;
  padding: 6px 8px 9px;
}

.tree-row {
  width: 100%;
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px 6px calc(10px + (var(--tree-depth, 0) * 18px));
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: var(--tv-muted);
  text-align: left;
}

.tree-row:hover {
  background: rgba(255,255,255,.035);
  border-color: var(--tv-line-soft);
  color: var(--tv-ink);
}

.tree-folder-row {
  font-weight: 750;
}

.tree-file-row {
  font-size: .82rem;
}

.tree-file-row.selected {
  border-color: rgba(22,240,226,.4);
  background: rgba(22,240,226,.055);
}

.tree-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tree-folder-row .tree-name {
  flex: 1 1 auto;
}

.tree-file-row .tree-name {
  flex: 1 1 auto;
  color: var(--tv-ink);
}

.tree-count {
  flex: 0 0 auto;
  border: 1px solid var(--tv-line-soft);
  border-radius: 999px;
  padding: 2px 7px;
  font-size: .68rem;
  color: var(--tv-muted);
}

.tree-count.leaf {
  color: #8fffc0;
  border-color: rgba(88,255,154,.28);
}

.source-root-box {
  min-height: 38px;
  resize: vertical;
}

@media (max-width: 640px) {
  .view-toggle {
    margin-left: auto;
  }

  .view-toggle-btn {
    padding: 5px 9px;
  }

  .tree-row {
    padding-left: calc(8px + (var(--tree-depth, 0) * 13px));
    gap: 6px;
  }

  .tree-count {
    display: none;
  }

  .tree-file-row .integrity-badge {
    display: none;
  }
}


.material-chip {
  color: #ffdca8;
  border-color: rgba(255, 196, 122, .26);
}

.material-section {
  margin-top: 12px;
  border: 1px solid var(--tv-line-soft);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
  padding: 10px;
}

.material-section.compact {
  padding: 9px;
}

.material-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.material-head h4 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tv-muted);
}

.material-count {
  font-size: .72rem;
  color: var(--tv-muted);
}

.material-groups {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.material-group-title {
  margin: 2px 0 6px;
  font-size: .72rem;
  color: var(--tv-muted);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.material-items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
}

.material-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border: 1px solid var(--tv-line-soft);
  border-radius: 12px;
  padding: 7px;
  background: rgba(0,0,0,.12);
}

.material-section.full .material-item {
  grid-template-columns: 56px minmax(0, 1fr);
  padding: 9px;
}

.material-icon,
.material-thumb {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  border: 1px solid var(--tv-line-soft);
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.035);
  color: var(--tv-muted);
  overflow: hidden;
  padding: 0;
}

.material-section.full .material-icon,
.material-section.full .material-thumb {
  width: 56px;
  height: 56px;
}

.material-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.material-thumb.broken {
  pointer-events: none;
}

.material-thumb.broken::after {
  content: "img";
  color: var(--tv-muted);
  font-size: .68rem;
}

.material-thumb.broken img {
  display: none;
}

.material-meta {
  min-width: 0;
}

.material-title {
  font-size: .82rem;
  color: var(--tv-ink);
  font-weight: 750;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.material-subtitle {
  font-size: .72rem;
  color: var(--tv-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.material-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}

.mini-action {
  border: 1px solid var(--tv-line-soft);
  background: rgba(255,255,255,.035);
  color: var(--tv-muted);
  border-radius: 999px;
  padding: 3px 8px;
  font-size: .68rem;
  text-decoration: none;
  line-height: 1.2;
}

.mini-action:hover {
  color: var(--tv-ink);
  border-color: rgba(22,240,226,.35);
}

.mini-action.primary {
  color: var(--tv-cyan);
  border-color: rgba(22,240,226,.32);
}

.mini-action.disabled {
  opacity: .65;
  pointer-events: none;
}

.material-more-note {
  margin-top: 8px;
  color: var(--tv-muted);
  font-size: .75rem;
}

.lightbox-panel {
  max-width: min(1100px, 94vw);
}

.lightbox-body {
  display: grid;
  place-items: center;
  min-height: 240px;
  padding: 12px;
  background: rgba(0,0,0,.22);
  border-radius: 16px;
  border: 1px solid var(--tv-line-soft);
}

.lightbox-body img {
  max-width: 100%;
  max-height: 72vh;
  object-fit: contain;
  border-radius: 10px;
}

.material-preview-panel .modal-source {
  max-height: 58vh;
}

.origin-artifact-card {
  border-style: dashed;
  opacity: .96;
}

.origin-artifact-body {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin: 0 12px 8px;
  padding: 10px;
  border: 1px solid var(--tv-line-soft);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
}

.origin-artifact-body p {
  margin: 2px 0 0;
  color: var(--tv-muted);
  font-size: .76rem;
  overflow-wrap: anywhere;
}

.tree-file-row {
  padding-left: calc(10px + (var(--tree-depth, 0) * 18px) + 18px);
}

@media (max-width: 640px) {
  .material-item,
  .material-section.full .material-item {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .material-icon,
  .material-thumb,
  .material-section.full .material-icon,
  .material-section.full .material-thumb {
    width: 38px;
    height: 38px;
  }

  .material-actions {
    gap: 4px;
  }

  .mini-action {
    padding: 3px 7px;
  }

  .tree-file-row {
    padding-left: calc(8px + (var(--tree-depth, 0) * 13px) + 14px);
  }
}


.material-section.compact .material-item:only-child {
  margin-bottom: 0;
}

.material-count:empty {
  display: none;
}


.trace-ref-status {
  display: inline-flex;
  align-items: center;
  margin-left: 7px;
  border: 1px solid var(--tv-line-soft);
  border-radius: 999px;
  padding: 1px 6px;
  font-size: .62rem;
  color: var(--tv-muted);
  vertical-align: 1px;
}

.trace-ref-status.loaded {
  color: #8fffc0;
  border-color: rgba(88,255,154,.28);
}

.trace-ref-status.loadable {
  color: var(--tv-cyan);
  border-color: rgba(22,240,226,.28);
}

.trace-ref-status.external-lineage {
  color: #ffdca8;
  border-color: rgba(255,196,122,.28);
}

.trace-ref-status.unresolved {
  color: #ff9d9d;
  border-color: rgba(255,90,90,.28);
}

.external-trace-panel {
  max-width: min(720px, 94vw);
}

.external-trace-summary {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  border: 1px solid var(--tv-line-soft);
  border-radius: 15px;
  padding: 12px;
  margin: 12px 0;
  background: rgba(255,255,255,.025);
}

.external-trace-summary p {
  margin: 2px 0 0;
  color: var(--tv-muted);
  overflow-wrap: anywhere;
  font-size: .78rem;
}

@media (max-width: 640px) {
  .trace-ref-status {
    display: none;
  }
}


:root {
  --workspace-expanded-max: 650px;
  --workspace-expanded-min: 420px;
  --workspace-collapsed-max: 190px;
  --workspace-stage-gap: 14px;
}

.workspace-stage,
.workspace-rail,
.workspace-grid,
.workspace-strip,
.workspace-columns,
.workspace-board,
main .workspaces,
#workspaces {
  max-width: calc((var(--workspace-expanded-max) * 3) + (var(--workspace-stage-gap) * 2));
  margin-left: auto;
  margin-right: auto;
}

.workspace-stage,
.workspace-rail,
.workspace-grid,
.workspace-strip,
.workspace-columns,
.workspace-board {
  justify-content: center;
}

.workspace-grid,
.workspace-columns,
.workspace-board,
.workspace-strip {
  gap: var(--workspace-stage-gap);
}

.workspace-card,
.workspace-column,
.workspace-panel,
.lineage-workspace,
.viewer-workspace {
  width: min(100%, var(--workspace-expanded-max));
  max-width: var(--workspace-expanded-max);
  min-width: min(100%, var(--workspace-expanded-min));
  flex: 0 1 var(--workspace-expanded-max);
}

.workspace-card.collapsed,
.workspace-column.collapsed,
.workspace-panel.collapsed,
.lineage-workspace.collapsed,
.viewer-workspace.collapsed,
.workspace-card[data-layout="collapsed"],
.workspace-column[data-layout="collapsed"],
.workspace-panel[data-layout="collapsed"],
.lineage-workspace[data-layout="collapsed"],
.viewer-workspace[data-layout="collapsed"] {
  width: var(--workspace-collapsed-max);
  max-width: var(--workspace-collapsed-max);
  min-width: var(--workspace-collapsed-max);
  flex-basis: var(--workspace-collapsed-max);
}

.post-feed,
.workspace-body,
.workspace-content {
  max-width: 100%;
}

@media (min-width: 1600px) {
  .app-shell,
  .page-shell,
  .tv-shell,
  main {
    max-width: none;
  }
}

@media (max-width: 1280px) {
  :root {
    --workspace-expanded-max: 620px;
    --workspace-expanded-min: 360px;
  }

  .workspace-stage,
  .workspace-rail,
  .workspace-grid,
  .workspace-strip,
  .workspace-columns,
  .workspace-board,
  main .workspaces,
  #workspaces {
    max-width: calc((var(--workspace-expanded-max) * 2) + var(--workspace-stage-gap));
  }
}

@media (max-width: 760px) {
  :root {
    --workspace-expanded-max: calc(100vw - 20px);
    --workspace-expanded-min: calc(100vw - 20px);
    --workspace-stage-gap: 10px;
  }

  .workspace-stage,
  .workspace-rail,
  .workspace-grid,
  .workspace-strip,
  .workspace-columns,
  .workspace-board,
  main .workspaces,
  #workspaces {
    max-width: calc(100vw - 12px);
    justify-content: flex-start;
  }

  .workspace-card,
  .workspace-column,
  .workspace-panel,
  .lineage-workspace,
  .viewer-workspace {
    width: var(--workspace-expanded-max);
    max-width: var(--workspace-expanded-max);
    min-width: var(--workspace-expanded-min);
    flex-basis: var(--workspace-expanded-max);
  }
}


:root {
  --workspace-expanded-max: 620px;
  --workspace-expanded-min: 420px;
  --workspace-stage-gap: 14px;
}

#workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns,
#workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-1,
#workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-2,
#workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-3 {
  width: fit-content !important;
  max-width: calc(100vw - 20px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
  align-content: stretch !important;
  gap: var(--workspace-stage-gap) !important;
  overflow: visible !important;
}

#workspace-grid.workspace-grid-columns > .workspace.workspace-shell,
#workspace-grid.workspace-grid-columns > .workspace.workspace-shell.active,
#workspace-grid.workspace-grid-columns > .workspace.workspace-shell.compact {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.topbar-layout,
.topbar-actions,
.topbar-shell,
.topbar {
  width: min(100%, var(--workspace-expanded-max)) !important;
  max-width: var(--workspace-expanded-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.app-footer {
  width: min(100%, var(--workspace-expanded-max)) !important;
  max-width: var(--workspace-expanded-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center;
}

@media (min-width: 1500px) {
  #workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-3 {
    max-width: min(calc((var(--workspace-expanded-max) * 3) + (var(--workspace-stage-gap) * 2)), calc(100vw - 20px)) !important;
  }
}

@media (max-width: 1499px) and (min-width: 760px) {
  #workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-2,
  #workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-3 {
    max-width: min(calc((var(--workspace-expanded-max) * 2) + var(--workspace-stage-gap)), calc(100vw - 20px)) !important;
  }
}

@media (max-width: 760px) {
  #workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns,
  #workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-1,
  #workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-2,
  #workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns.columns-3 {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .topbar-layout,
  .topbar-actions,
  .topbar-shell,
  .topbar,
  .app-footer {
    width: 100% !important;
    max-width: 100% !important;
  }
}


.brand-mark {
  background:
    radial-gradient(circle at 50% 45%, rgba(22,240,226,.16), rgba(22,240,226,.02) 64%, transparent 66%),
    rgba(22,240,226,.045) !important;
  border-color: rgba(22,240,226,.34) !important;
  position: relative;
  overflow: hidden;
}

.brand-mark::before {
  content: "";
  position: absolute;
  inset: 3px;
  background: url("./assets/tiinex-logo-white-transparent.png") center / contain no-repeat;
  filter: drop-shadow(0 0 7px rgba(22,240,226,.20));
}

.brand-inline {
  gap: 9px;
}

.brand-inline span:last-child {
  letter-spacing: -0.035em;
}

@media (max-width: 560px) {
  .brand-mark::before {
    inset: 4px;
  }
}


:root {
  --tiinex-purple: #b867ff;
  --tiinex-purple-strong: #d18aff;
  --tiinex-purple-soft: rgba(184, 103, 255, .18);
  --tiinex-purple-line: rgba(184, 103, 255, .36);
  --tiinex-white: #f7f5ff;
  --tiinex-silver: #d7d3df;

  --tv-bg: #030407;
  --tv-bg-2: #08090f;
  --tv-surface: #10121a;
  --tv-surface-2: #151823;
  --tv-ink: var(--tiinex-white);
  --tv-muted: #aba6b9;
  --tv-line: rgba(247, 245, 255, .11);
  --tv-line-soft: rgba(247, 245, 255, .075);
  --tv-cyan: var(--tiinex-purple);
  --tv-blue: #8ea7ff;
  --tv-purple: var(--tiinex-purple);
  --tv-green: #8fffc0;
  --tv-gold: #ffd28a;
  --tv-radius: 22px;
  --tv-shadow: 0 26px 86px rgba(0,0,0,.48);
}

body {
  background:
    radial-gradient(circle at 18% 12%, rgba(184, 103, 255, .115), transparent 31%),
    radial-gradient(circle at 82% 8%, rgba(184, 103, 255, .07), transparent 34%),
    radial-gradient(circle at 48% 85%, rgba(255,255,255,.032), transparent 34%),
    linear-gradient(135deg, #020305 0%, #08090d 48%, #050307 100%) !important;
}

.app-shell.app-shell-foundation,
.app-shell.app-shell-main,
.app-shell.app-shell-layout,
.app-shell.app-shell-grid {
  background:
    linear-gradient(90deg, rgba(184,103,255,.045), transparent 19%, transparent 81%, rgba(184,103,255,.035)),
    transparent;
}

.notice-card,
.source-card,
.workspace,
.modal-panel,
.lineage-post {
  background:
    linear-gradient(145deg, rgba(247,245,255,.052), rgba(184,103,255,.018) 42%, rgba(255,255,255,.012)),
    var(--tv-surface) !important;
  border-color: rgba(247,245,255,.105) !important;
}

.workspace {
  box-shadow:
    0 0 0 1px rgba(184,103,255,.09),
    0 24px 90px rgba(0,0,0,.44) !important;
}

.workspace.active,
.workspace-shell.active,
.workspace-panel-layout.active {
  border-color: rgba(184,103,255,.34) !important;
  box-shadow:
    0 0 0 1px rgba(184,103,255,.22),
    0 0 34px rgba(184,103,255,.055),
    0 26px 90px rgba(0,0,0,.48) !important;
}

.workspace-strip,
.workspace-shell-strip,
.workspace-panel-layout-strip,
.feed-toolbar,
.post-actions,
.workspace-header,
.topbar {
  background:
    linear-gradient(90deg, rgba(184,103,255,.045), rgba(255,255,255,.014), rgba(184,103,255,.025)) !important;
  border-color: rgba(247,245,255,.085) !important;
}

.topbar-layout,
.topbar-actions,
.topbar-shell,
.topbar {
  border: 1px solid rgba(247,245,255,.08);
  border-radius: 999px;
  padding-inline: 8px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 18px 54px rgba(0,0,0,.32);
}

.brand-inline {
  color: var(--tiinex-white) !important;
}

.brand-inline:hover {
  color: var(--tiinex-purple-strong) !important;
}

.brand-mark {
  background:
    radial-gradient(circle at 50% 45%, rgba(184,103,255,.22), rgba(184,103,255,.05) 62%, transparent 66%),
    rgba(184,103,255,.075) !important;
  border-color: rgba(184,103,255,.50) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 0 18px rgba(184,103,255,.18);
}

.brand-mark::before {
  filter:
    drop-shadow(0 0 8px rgba(184,103,255,.35))
    drop-shadow(0 0 2px rgba(255,255,255,.28));
}

.kicker,
.kicker-inline,
.source-section-title,
.material-head h4,
.feed-section-title {
  color: var(--tiinex-purple-strong) !important;
  letter-spacing: .17em;
}

.tv-btn.primary,
button.tv-btn.primary {
  border-color: rgba(184,103,255,.52) !important;
  background:
    linear-gradient(135deg, rgba(184,103,255,.26), rgba(184,103,255,.11)) !important;
  color: var(--tiinex-white) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 20px rgba(184,103,255,.12);
}

.tv-btn.primary:hover,
button.tv-btn.primary:hover {
  border-color: rgba(209,138,255,.70) !important;
  background:
    linear-gradient(135deg, rgba(209,138,255,.32), rgba(184,103,255,.14)) !important;
}

.tv-btn,
.icon-action,
.mini-action,
.view-toggle,
.search-box,
.filter-select-wrap,
.stat-pill,
.badge-soft {
  border-color: rgba(247,245,255,.115) !important;
  background-color: rgba(255,255,255,.025);
}

.view-toggle-btn.active,
.filter-chip.active,
.search-box.active {
  color: var(--tiinex-purple-strong) !important;
  border-color: var(--tiinex-purple-line) !important;
  background: rgba(184,103,255,.09) !important;
}

.badge-schema.topic,
.badge-schema.evidence,
.badge-schema.runtime,
.material-chip,
.tree-count.leaf,
.trace-ref-status.loadable {
  color: var(--tiinex-purple-strong) !important;
  border-color: rgba(184,103,255,.32) !important;
  background: rgba(184,103,255,.055) !important;
}

.badge-schema.task,
.badge-schema.feedback,
.badge-schema.decision,
.badge-schema.reduction {
  border-color: rgba(247,245,255,.14) !important;
}

.integrity-badge.ok,
.lineage-terminal.ok {
  color: #e6d6ff !important;
  border-color: rgba(184,103,255,.34) !important;
  background: rgba(184,103,255,.07) !important;
}

.integrity-badge.danger {
  color: #ff9da8 !important;
  border-color: rgba(255,85,110,.50) !important;
  background: rgba(255,85,110,.075) !important;
}

.lineage-post {
  box-shadow: 0 18px 62px rgba(0,0,0,.30) !important;
}

.lineage-post:hover {
  border-color: rgba(184,103,255,.25) !important;
}

.post-main:hover .post-title {
  color: var(--tiinex-purple-strong) !important;
}

.post-title,
.modal-title-lite,
.workspace-title {
  color: var(--tiinex-white) !important;
}

.post-summary,
.workspace-subtitle,
.text-secondary,
.material-subtitle {
  color: var(--tv-muted) !important;
}

.tree-row:hover,
.material-item:hover {
  border-color: rgba(184,103,255,.22) !important;
  background: rgba(184,103,255,.035) !important;
}

.tree-file-row.selected {
  border-color: rgba(184,103,255,.42) !important;
  background: rgba(184,103,255,.075) !important;
}

.app-footer {
  color: rgba(247,245,255,.42) !important;
  border-color: rgba(247,245,255,.055) !important;
}

.app-footer a {
  color: var(--tiinex-silver) !important;
}

.toast-note {
  border-color: rgba(184,103,255,.32) !important;
  background:
    linear-gradient(145deg, rgba(184,103,255,.12), rgba(18,18,26,.96)) !important;
}

.source-root-box,
.source-url-box,
.form-control,
.form-select {
  background-color: rgba(255,255,255,.028) !important;
  border-color: rgba(247,245,255,.12) !important;
  color: var(--tiinex-white) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(184,103,255,.52) !important;
  box-shadow: 0 0 0 .18rem rgba(184,103,255,.12) !important;
}

.modal-backdrop-custom {
  background:
    radial-gradient(circle at 50% 15%, rgba(184,103,255,.13), transparent 42%),
    rgba(0,0,0,.72) !important;
}

::selection {
  background: rgba(184,103,255,.35);
  color: var(--tiinex-white);
}


@media (min-width: 761px) {
  .topbar-layout,
  .topbar-actions,
  .topbar-shell,
  .topbar {
    width: fit-content !important;
    max-width: min(calc(100vw - 28px), calc((var(--workspace-expanded-max) * 3) + (var(--workspace-stage-gap) * 2))) !important;
    min-height: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    padding: 4px 8px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .brand-inline {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    min-width: max-content !important;
  }

  .workspace-top-actions-layout,
  .workspace-top-actions-toolbar,
  .top-actions {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    gap: 7px !important;
  }

  .workspace-top-actions-layout .tv-btn,
  .workspace-top-actions-toolbar .tv-btn,
  .top-actions .tv-btn {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    min-height: 32px !important;
  }
}

@media (max-width: 760px) {
  .topbar-layout,
  .topbar-actions,
  .topbar-shell,
  .topbar {
    height: auto !important;
    min-height: auto !important;
    flex-wrap: wrap !important;
  }
}


@media (min-width: 761px) {
  .topbar-layout,
  .topbar-actions,
  .topbar-shell,
  .topbar {
    gap: 8px !important;
  }
}


.tree-file-row {
  padding-left: calc(10px + (var(--tree-depth, 0) * 18px) + 16px) !important;
}

.tree-file-row > i.fa-file-lines {
  font-size: 1.03em;
  transform: translateX(-2px);
  opacity: .92;
}

@media (max-width: 640px) {
  .tree-file-row {
    padding-left: calc(8px + (var(--tree-depth, 0) * 13px) + 12px) !important;
  }

  .tree-file-row > i.fa-file-lines {
    font-size: 1.02em;
    transform: translateX(-2px);
  }
}


/* Earlier topbar width rules matched the generic .topbar class and could leak
   into workspace header/strip descendants. Workspace headers must span the
   whole workspace frame, not behave like the centered global app header. */
.workspace .topbar,
.workspace-strip,
.workspace-shell-strip,
.workspace-panel-layout-strip,
.workspace-header {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

.workspace-strip,
.workspace-shell-strip,
.workspace-panel-layout-strip {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  overflow: visible !important;
}

.workspace-actions-shell,
.workspace-actions-toolbar,
.workspace-actions {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.workspace-actions-shell .stat-pill,
.workspace-actions-shell .tv-btn.small,
.workspace-actions-shell .policy,
.workspace-actions-toolbar .stat-pill,
.workspace-actions-toolbar .tv-btn.small,
.workspace-actions-toolbar .policy {
  flex: 0 0 auto;
}

@media (max-width: 760px) {
  .workspace-strip,
  .workspace-shell-strip,
  .workspace-panel-layout-strip {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* No visual changes. Successful automatic route/load events are quiet in JS. */


.policy.origin-fallback,
.policy.warn,
.badge-soft.policy.warn {
  color: #ffd28a !important;
  border-color: rgba(255,210,138,.34) !important;
  background: rgba(255,210,138,.055) !important;
}


.stat-pill.policy.notice {
  color: #d7d3df !important;
  border-color: rgba(247,245,255,.18) !important;
  background: rgba(247,245,255,.035) !important;
  text-decoration: none;
  margin-left: 4px;
}

.stat-pill.policy.notice:hover,
.stat-pill.policy.ok:hover,
.stat-pill.policy.warn:hover {
  color: var(--tiinex-white) !important;
  border-color: rgba(184,103,255,.48) !important;
}

.workspace-actions-shell .stat-pill.policy.notice,
.workspace-actions-toolbar .stat-pill.policy.notice {
  max-width: 112px;
}


.source-modal-base {
  max-width: min(860px, 94vw);
}

.source-modal-head {
  align-items: flex-start;
}

.source-dropzone {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 14px 0;
  padding: 14px;
  border: 1px dashed rgba(184,103,255,.42);
  border-radius: 18px;
  background:
    radial-gradient(circle at 14% 20%, rgba(184,103,255,.12), transparent 36%),
    rgba(184,103,255,.045);
  color: var(--tiinex-white);
  outline: none;
}

.source-dropzone.drag-over,
.source-dropzone:focus-visible {
  border-color: rgba(209,138,255,.76);
  background:
    radial-gradient(circle at 14% 20%, rgba(184,103,255,.22), transparent 40%),
    rgba(184,103,255,.085);
  box-shadow: 0 0 0 3px rgba(184,103,255,.12);
}

.source-drop-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  border: 1px solid rgba(184,103,255,.38);
  background: rgba(255,255,255,.04);
  color: var(--tiinex-purple-strong);
}

.source-dropzone strong {
  display: block;
  font-size: .98rem;
  margin-bottom: 3px;
}

.source-dropzone p {
  margin: 0;
  color: var(--tv-muted);
  font-size: .84rem;
  line-height: 1.42;
}

.source-dropzone code {
  color: var(--tiinex-purple-strong);
  background: rgba(255,255,255,.055);
  border: 1px solid var(--tv-line-soft);
  border-radius: 6px;
  padding: 1px 5px;
}

.source-intake-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  padding: 5px 8px;
  border: 1px solid rgba(143,255,192,.28);
  border-radius: 999px;
  color: #caffdf;
  background: rgba(88,255,154,.055);
  font-size: .75rem;
}

.source-intake-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.source-intake-card {
  border: 1px solid var(--tv-line-soft);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.035), rgba(184,103,255,.018)),
    rgba(0,0,0,.11);
  padding: 13px;
}

.source-wide-card {
  grid-column: 1 / -1;
}

.source-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.source-card-head h3 {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--tiinex-purple-strong);
  font-size: .78rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-weight: 850;
}

.source-card-head span {
  color: var(--tv-muted);
  border: 1px solid var(--tv-line-soft);
  border-radius: 999px;
  padding: 2px 7px;
  font-size: .68rem;
}

.source-fields {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(120px, .7fr) minmax(150px, .9fr);
  gap: 10px;
}

.source-intake-card label {
  display: grid;
  gap: 5px;
  color: var(--tv-muted);
  font-size: .75rem;
}

.source-intake-card .form-control {
  width: 100%;
}

.source-intake-card .source-url-box {
  min-height: 124px;
  resize: vertical;
}

.source-intake-card .source-root-box {
  min-height: 58px;
}

.source-card-note {
  margin: 9px 0 0;
  color: var(--tv-muted);
  font-size: .75rem;
  line-height: 1.42;
}

@media (max-width: 760px) {
  .source-modal-base {
    max-width: min(94vw, 520px);
  }

  .source-dropzone {
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 12px;
  }

  .source-drop-icon {
    width: 38px;
    height: 38px;
  }

  .source-intake-grid,
  .source-fields {
    grid-template-columns: 1fr;
  }

  .source-intake-card {
    padding: 12px;
  }

  .source-intake-card .source-url-box {
    min-height: 104px;
  }
}


@media (max-width: 520px) {
  .source-modal-base {
    width: min(94vw, 360px);
    max-height: 92vh;
    padding: 14px !important;
    overflow-y: auto;
  }

  .source-modal-base .modal-header-lite {
    gap: 8px;
  }

  .source-modal-base .modal-title-lite {
    font-size: 1.05rem;
    line-height: 1.15;
  }

  .source-modal-base .text-secondary {
    font-size: .82rem;
    line-height: 1.35;
  }

  .source-dropzone {
    margin: 10px 0;
    padding: 10px;
    border-radius: 15px;
  }

  .source-dropzone strong {
    font-size: .86rem;
  }

  .source-dropzone p,
  .source-card-note {
    font-size: .70rem;
    line-height: 1.32;
  }

  .source-dropzone code {
    padding: 1px 4px;
  }

  .source-intake-grid {
    gap: 9px;
  }

  .source-intake-card {
    padding: 10px;
    border-radius: 15px;
  }

  .source-card-head {
    margin-bottom: 7px;
  }

  .source-card-head h3 {
    font-size: .68rem;
    letter-spacing: .13em;
  }

  .source-card-head span {
    font-size: .58rem;
    padding: 1px 6px;
  }

  .source-intake-card label {
    font-size: .66rem;
    gap: 3px;
  }

  .source-intake-card .form-control {
    min-height: 30px;
    font-size: .72rem;
    padding: 5px 7px;
  }

  .source-intake-card .source-root-box {
    min-height: 52px;
  }

  .source-intake-card .source-url-box {
    min-height: 92px;
  }

  .source-modal-base .modal-footer-actions {
    position: sticky;
    bottom: -14px;
    margin: 10px -14px -14px;
    padding: 10px 14px 14px;
    background: linear-gradient(180deg, rgba(16,18,26,.82), rgba(16,18,26,.98));
    border-top: 1px solid var(--tv-line-soft);
  }

  .source-modal-base .modal-footer-actions .tv-btn {
    width: 100%;
    justify-content: center;
  }
}


.source-mobile-intake-note {
  display: none;
}

@media (max-width: 520px) {
  .source-mobile-intake-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 9px 0 10px;
    padding: 9px 10px;
    border: 1px solid rgba(184,103,255,.22);
    border-radius: 13px;
    background: rgba(184,103,255,.045);
    color: var(--tv-muted);
    font-size: .70rem;
    line-height: 1.32;
  }

  .source-mobile-intake-note i {
    color: var(--tiinex-purple-strong);
    margin-top: 2px;
  }

  .source-modal-base .source-dropzone {
    display: none !important;
  }

  .source-modal-base .source-intake-grid {
    display: flex;
    flex-direction: column;
  }

  .source-modal-base .source-files-card {
    order: 1;
  }

  .source-modal-base .source-urls-card {
    order: 2;
  }

  .source-modal-base .source-repo-card {
    order: 3;
  }

  .source-modal-base .source-files-card .source-card-head h3::after {
    content: " first";
    color: var(--tv-muted);
    font-size: .58rem;
    letter-spacing: .08em;
    margin-left: 5px;
    font-weight: 700;
  }

  .source-modal-base input[type="file"].form-control {
    min-height: 36px;
    padding: 6px 7px;
  }

  .source-modal-base .source-files-card {
    border-color: rgba(184,103,255,.32);
    background:
      linear-gradient(145deg, rgba(184,103,255,.070), rgba(255,255,255,.018)),
      rgba(0,0,0,.10);
  }
}


.source-modal-current .source-intake-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.source-modal-current .source-primary-card {
  border-color: rgba(184,103,255,.34);
  background:
    linear-gradient(145deg, rgba(184,103,255,.072), rgba(255,255,255,.018)),
    rgba(0,0,0,.10);
}

.source-collapsible-card {
  padding: 0;
  overflow: hidden;
}

.source-collapsible-card > summary.source-card-head {
  list-style: none;
  cursor: pointer;
  margin: 0;
  padding: 13px;
  user-select: none;
}

.source-collapsible-card > summary.source-card-head::-webkit-details-marker {
  display: none;
}

.source-collapsible-card > summary.source-card-head::after {
  content: "";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--tv-muted);
  margin-left: auto;
  transition: transform .16s ease;
}

.source-collapsible-card[open] > summary.source-card-head::after {
  transform: rotate(180deg);
}

.source-collapsible-card[open] > summary.source-card-head {
  border-bottom: 1px solid var(--tv-line-soft);
  margin-bottom: 0;
}

.source-collapsible-card[open] > summary.source-card-head span {
  color: var(--tiinex-purple-strong);
  border-color: rgba(184,103,255,.32);
  background: rgba(184,103,255,.055);
}

.source-collapsible-body {
  padding: 12px 13px 13px;
}

.source-modal-current .source-files-card {
  grid-column: span 1;
}

.source-modal-current .source-urls-card {
  grid-column: span 1;
}

.source-modal-current .source-repo-card {
  grid-column: 1 / -1;
}

@media (max-width: 760px) {
  .source-modal-current .source-intake-grid {
    display: flex;
    flex-direction: column;
  }

  .source-modal-current .source-files-card {
    order: 1;
  }

  .source-modal-current .source-urls-card {
    order: 2;
  }

  .source-modal-current .source-repo-card {
    order: 3;
  }
}

@media (max-width: 520px) {
  .source-modal-current .source-collapsible-card > summary.source-card-head {
    padding: 10px;
  }

  .source-modal-current .source-collapsible-body {
    padding: 9px 10px 10px;
  }

  .source-modal-current .source-card-note {
    margin-top: 7px;
  }

  .source-modal-current .source-mobile-intake-note {
    margin-bottom: 8px;
  }
}


.source-intake-status {
  max-width: 100%;
  flex-wrap: wrap;
}


.source-folder-picker {
  margin-top: 7px;
}

.source-folder-picker input[type="file"] {
  cursor: pointer;
}


.material-item.local-asset {
  border-color: rgba(143,255,192,.22);
  background: rgba(88,255,154,.025);
}


.import-conflict-panel {
  max-width: min(720px, 94vw);
}

.conflict-list {
  margin: 12px 0;
  padding-left: 18px;
  color: var(--tv-muted);
}

.conflict-list li {
  margin-bottom: 8px;
}

.conflict-list span {
  overflow-wrap: anywhere;
}


.quiet-empty-workspace {
  min-height: min(76vh, 980px);
}

.quiet-empty-workspace::before,
.quiet-empty-workspace::after {
  content: none !important;
}

.brand-name,
.app-title,
.logo-text,
.topbar .brand span:last-child {
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}


.topbar,
.app-topbar,
.header-actions,
.topbar-actions {
  column-gap: 12px;
  gap: 12px;
}

.brand,
.app-brand,
.logo-lockup {
  margin-right: 4px;
}

.topbar .tv-btn,
.app-topbar .tv-btn,
.header-actions .tv-btn,
.topbar-actions .tv-btn {
  margin-inline: 0;
}

@media (max-width: 560px) {
  .topbar,
  .app-topbar,
  .header-actions,
  .topbar-actions {
    column-gap: 8px;
    gap: 8px;
  }

  .topbar .tv-btn,
  .app-topbar .tv-btn,
  .header-actions .tv-btn,
  .topbar-actions .tv-btn {
    margin-inline: 0;
  }
}


.topbar,
.app-topbar,
.header-actions,
.topbar-actions {
  gap: 10px;
  column-gap: 10px;
}

.topbar .tv-btn,
.app-topbar .tv-btn,
.header-actions .tv-btn,
.topbar-actions .tv-btn {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.brand,
.app-brand,
.logo-lockup,
.topbar .brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.brand-name,
.app-title,
.logo-text,
.topbar .brand span:last-child {
  display: inline-block;
  transform: translateY(-2px) !important;
  line-height: 1;
}

@media (max-width: 560px) {
  .topbar,
  .app-topbar,
  .header-actions,
  .topbar-actions {
    gap: 8px;
    column-gap: 8px;
  }

  .brand-name,
  .app-title,
  .logo-text,
  .topbar .brand span:last-child {
    transform: translateY(-1px) !important;
  }
}


/* Keep the whole topbar centered, but create more room after the brand. */
.topbar,
.app-topbar {
  gap: 13px !important;
  column-gap: 13px !important;
}

.brand,
.app-brand,
.logo-lockup,
.topbar .brand,
.app-topbar .brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-right: 8px !important;
}

/* Target the actual brand text, not the button text. Use position rather than
   transform so flex centering and prior transform rules do not fight it. */
.brand-name,
.app-title,
.logo-text,
.brand .brand-label,
.topbar .brand-label,
.app-brand .brand-label,
.topbar .brand > span:last-child,
.app-topbar .brand > span:last-child,
.brand > span:last-child,
.app-brand > span:last-child {
  position: relative !important;
  top: -3px !important;
  transform: none !important;
  line-height: 1 !important;
  text-shadow: none !important;
  filter: none !important;
}

/* Do not accidentally move icon-only symbol spans if the last-child selector
   is not the text in some future markup. */
.brand-mark,
.logo-mark,
.app-logo,
.brand svg,
.app-brand svg,
.topbar .brand svg,
.app-topbar .brand svg {
  position: static !important;
  top: auto !important;
  transform: none !important;
}

@media (max-width: 560px) {
  .topbar,
  .app-topbar {
    gap: 9px !important;
    column-gap: 9px !important;
  }

  .brand,
  .app-brand,
  .logo-lockup,
  .topbar .brand,
  .app-topbar .brand {
    margin-right: 5px !important;
  }

  .brand-name,
  .app-title,
  .logo-text,
  .brand .brand-label,
  .topbar .brand-label,
  .app-brand .brand-label,
  .topbar .brand > span:last-child,
  .app-topbar .brand > span:last-child,
  .brand > span:last-child,
  .app-brand > span:last-child {
    top: -2px !important;
  }
}


.source-chip {
  max-width: 190px;
}

.source-github {
  border-color: rgba(168,135,255,.32);
  background: rgba(168,135,255,.08);
}

.source-local {
  border-color: rgba(120,255,190,.28);
  background: rgba(120,255,190,.07);
}

.source-url {
  border-color: rgba(120,190,255,.28);
  background: rgba(120,190,255,.07);
}

.source-draft {
  border-color: rgba(255,216,120,.32);
  background: rgba(255,216,120,.08);
}

.workspace-drop-target.drag-over {
  outline: 1px solid rgba(167,139,250,.75);
  outline-offset: 4px;
  box-shadow: 0 0 0 1px rgba(167,139,250,.35), 0 0 42px rgba(167,139,250,.16);
}

.workspace-drop-hint {
  margin: 10px 12px 0;
  padding: 10px 12px;
  border: 1px dashed rgba(167,139,250,.25);
  border-radius: 14px;
  color: var(--tv-muted);
  font-size: .86rem;
  text-align: center;
  background: rgba(255,255,255,.025);
}

.empty-drop-target.drag-over::after {
  content: "Drop lineage material to create a local workspace";
  display: grid;
  place-items: center;
  height: min(76vh, 980px);
  color: var(--tv-muted);
  font-size: .95rem;
  letter-spacing: .02em;
}


.brand-inline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.brand-inline .brand-mark {
  position: static !important;
  top: auto !important;
  transform: none !important;
  margin: 0 !important;
  flex: 0 0 auto;
}

.brand-inline > span:not(.brand-mark) {
  position: relative !important;
  top: -2px !important;
  transform: none !important;
  line-height: 1 !important;
  margin: 0 !important;
  text-shadow: none !important;
  filter: none !important;
}

.top-actions {
  margin-left: 10px;
}


/* Default header brand is symbol-only. Keep its hitbox small so it cannot
   overlap the Create button. */
.topbar,
.app-topbar,
.topbar-foundation,
.topbar-shell,
.topbar-layout,
.topbar-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  column-gap: 10px !important;
}

.brand-inline {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  margin: 0 6px 0 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  flex: 0 0 34px !important;
  position: relative !important;
  z-index: 1 !important;
}

.brand-inline .brand-mark {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

/* Hide any stale title span if older markup survives in a render layer. */
.brand-inline > span:not(.brand-mark):not(.viewer-brand-link-slot) {
  display: none !important;
}

.top-actions,
.workspace-top-actions-layout,
.workspace-top-actions-toolbar {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-left: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

.top-actions .tv-btn,
.workspace-top-actions-layout .tv-btn,
.workspace-top-actions-toolbar .tv-btn {
  position: relative !important;
  z-index: 2 !important;
}


.brand-inline.viewer-brand.symbol-only {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  flex: 0 0 34px !important;
}

.brand-inline.viewer-brand.has-label {
  width: auto !important;
  min-width: 34px !important;
  max-width: min(260px, 40vw) !important;
  flex: 0 1 auto !important;
  padding: 0 10px 0 0 !important;
  gap: 8px !important;
  overflow: visible !important;
}

.brand-inline.viewer-brand .brand-icon-img {
  width: 24px;
  height: 24px;
  border-radius: 9px;
  object-fit: contain;
  flex: 0 0 24px;
  display: block;
}

.brand-inline.viewer-brand > .brand-label {
  display: inline-block !important;
  position: static !important;
  top: auto !important;
  transform: none !important;
  line-height: 1 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--tv-text);
  font-weight: 750;
  text-shadow: none !important;
  filter: none !important;
}


.create-workspace-modal {
  max-width: 560px !important;
}

.create-workspace-body {
  margin-top: 22px;
  display: grid;
  gap: 14px;
}

.create-workspace-body label {
  display: grid;
  gap: 8px;
  color: var(--tv-muted);
  font-size: 0.9rem;
}

.create-workspace-body label > span {
  color: var(--tv-text);
  font-weight: 700;
}

.create-workspace-body em {
  color: var(--tv-muted);
  font-style: normal;
  font-weight: 500;
}

.create-workspace-note {
  margin: 0;
  color: var(--tv-muted);
  line-height: 1.5;
}

.add-source-modal .source-files-card label + label {
  margin-top: 10px;
}


.workspace-add-btn {
  min-width: 58px !important;
  padding-inline: 12px !important;
  gap: 7px !important;
}

.add-flow-modal {
  max-width: 720px !important;
}

.add-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.add-choice-card {
  width: 100%;
  border: 1px solid rgba(168, 85, 247, 0.26);
  background: rgba(255, 255, 255, 0.035);
  border-radius: 18px;
  padding: 16px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  color: var(--tv-text);
  text-align: left;
  cursor: pointer;
  text-decoration: none;
}

.add-choice-card:hover,
.add-choice-card:focus-visible {
  border-color: rgba(216, 132, 255, 0.75);
  background: rgba(168, 85, 247, 0.12);
  outline: none;
}

.add-choice-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(168, 85, 247, 0.18);
  color: #e7b2ff;
}

.add-choice-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.add-choice-copy strong {
  font-size: 0.98rem;
}

.add-choice-copy small {
  color: var(--tv-muted);
  line-height: 1.35;
}

.visually-hidden-file {
  position: fixed;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.add-source-form {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.add-source-form label {
  display: grid;
  gap: 8px;
}

.add-source-form label > span {
  color: var(--tv-text);
  font-weight: 700;
}

.add-source-form em {
  color: var(--tv-muted);
  font-style: normal;
  font-weight: 500;
}

.add-source-form p {
  color: var(--tv-muted);
  margin: 0;
}

.add-drop-backdrop {
  background: rgba(8, 5, 15, 0.82) !important;
}

.add-full-dropzone {
  min-height: 240px;
  margin-top: 22px;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-style: dashed !important;
  border-width: 2px !important;
}

.file-label-inline {
  cursor: pointer;
}

@media (max-width: 760px) {
  .add-choice-grid {
    grid-template-columns: 1fr;
  }

  .desktop-only-choice {
    display: none !important;
  }

  .workspace-add-btn {
    min-width: auto !important;
  }
}


.stat-pill.policy.icon-only,
.workspace-add-btn.icon-only {
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 30px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  gap: 0 !important;
  overflow: hidden !important;
}

.stat-pill.policy.icon-only i,
.workspace-add-btn.icon-only i {
  margin: 0 !important;
}

.workspace-add-btn.icon-only {
  border-color: rgba(216, 132, 255, 0.65) !important;
}

.workspace-actions .stat-pill.policy.ok.icon-only {
  color: #7dffb2 !important;
  border-color: rgba(125, 255, 178, 0.55) !important;
  background: rgba(34, 197, 94, 0.10) !important;
}

.workspace-actions .stat-pill.policy.warn.icon-only {
  color: #ffd86b !important;
  border-color: rgba(255, 216, 107, 0.55) !important;
  background: rgba(245, 158, 11, 0.10) !important;
}

.workspace-actions .stat-pill.policy.danger.icon-only {
  color: #ff9a9a !important;
  border-color: rgba(255, 117, 117, 0.55) !important;
  background: rgba(239, 68, 68, 0.11) !important;
}

.workspace-actions .stat-pill.policy.local.icon-only {
  color: #9dbbff !important;
  border-color: rgba(157, 187, 255, 0.45) !important;
  background: rgba(59, 130, 246, 0.10) !important;
}

.workspace-actions .stat-pill.policy.notice.icon-only {
  color: #d8b4fe !important;
  border-color: rgba(216, 180, 254, 0.42) !important;
  background: rgba(168, 85, 247, 0.08) !important;
}


.icon-action.danger {
  color: #ff9a9a !important;
  border-color: rgba(255, 117, 117, 0.38) !important;
  background: rgba(239, 68, 68, 0.08) !important;
}

.icon-action.danger:hover,
.icon-action.danger:focus-visible {
  border-color: rgba(255, 117, 117, 0.72) !important;
  background: rgba(239, 68, 68, 0.16) !important;
}

.add-full-dropzone.drag-over,
.workspace-drop-target.drag-over {
  border-color: rgba(216, 132, 255, 0.95) !important;
  box-shadow: 0 0 0 1px rgba(216, 132, 255, 0.35), 0 0 40px rgba(168, 85, 247, 0.18) !important;
}


/* Workspaces are parallel surfaces. Keep internal activeWorkspaceId for routing,
   but do not expose it as a product concept. */
.workspace .active-chip,
.workspace-foundation .active-chip,
.workspace-shell .active-chip,
.workspace-title .active-chip,
.badge-soft.active-chip {
  display: none !important;
}

.workspace.active,
.workspace-foundation.active,
.workspace-shell.active {
  box-shadow: none !important;
}

.workspace.active:not(.drag-over),
.workspace-foundation.active:not(.drag-over),
.workspace-shell.active:not(.drag-over) {
  border-color: rgba(168, 85, 247, 0.36) !important;
}

.empty-stage-watermark {
  display: grid !important;
  place-items: center !important;
  min-height: min(58vh, 560px);
  border-color: transparent !important;
  background: transparent !important;
}

.empty-stage-watermark p {
  margin: 0;
  max-width: min(760px, 80vw);
  text-align: center;
  font-size: clamp(1.25rem, 4vw, 3.8rem);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: rgba(232, 224, 255, 0.10);
  text-shadow: 0 0 34px rgba(168, 85, 247, 0.08);
  user-select: none;
  pointer-events: none;
}

.empty-stage-watermark.drag-over {
  border-color: rgba(216, 132, 255, 0.75) !important;
  background: rgba(168, 85, 247, 0.06) !important;
}

.empty-stage-watermark.drag-over p {
  color: rgba(232, 224, 255, 0.18);
}


.workspace-grid > .empty-stage-watermark,
.empty-stage-watermark {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
  min-height: min(56vh, 520px) !important;
  padding: 0 !important;
}

.empty-stage-watermark p {
  font-size: clamp(1.05rem, 3.3vw, 3.05rem) !important;
  color: rgba(232, 224, 255, 0.075) !important;
  text-shadow: 0 0 28px rgba(168, 85, 247, 0.055) !important;
  max-width: min(720px, 78vw) !important;
}

.workspace-grid > .empty-stage-watermark.drag-over,
.empty-stage-watermark.drag-over {
  border: 1px dashed rgba(216, 132, 255, 0.42) !important;
  border-radius: 26px !important;
  background: rgba(168, 85, 247, 0.045) !important;
}

.app-footer {
  background: transparent !important;
  box-shadow: none !important;
}


.local-state-list {
  display: grid;
  gap: 0.75rem;
  padding: 1rem 0;
}

.local-state-card {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(232, 224, 255, 0.14);
  background: rgba(255, 255, 255, 0.035);
  color: inherit;
  border-radius: 18px;
  padding: 0.9rem 1rem;
  display: grid;
  gap: 0.25rem;
  cursor: pointer;
}

.local-state-card:hover {
  border-color: rgba(216, 132, 255, 0.42);
  background: rgba(168, 85, 247, 0.08);
}

.local-state-card small {
  color: rgba(232, 224, 255, 0.55);
}

.local-state-chip {
  opacity: 0.9;
}

.workspace-source-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding: 0.55rem 0.75rem 0.25rem;
}

.workspace-source-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid rgba(232, 224, 255, 0.12);
  background: rgba(255,255,255,0.035);
  border-radius: 999px;
  padding: 0.25rem 0.32rem 0.25rem 0.55rem;
  font-size: 0.78rem;
  color: rgba(244, 239, 255, 0.86);
}

.workspace-source-pill small {
  min-width: 1.25rem;
  height: 1.25rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,0.07);
  color: rgba(244, 239, 255, 0.65);
  font-size: 0.68rem;
}

.source-close-btn {
  width: 1.35rem;
  height: 1.35rem;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(244, 239, 255, 0.55);
  cursor: pointer;
}

.source-close-btn:hover {
  background: rgba(248, 113, 113, 0.14);
  color: rgba(254, 202, 202, 0.95);
}


.quiet-empty-workspace.empty-stage-watermark {
  position: relative !important;
  overflow: hidden;
}

.quiet-empty-workspace.empty-stage-watermark::before {
  content: "" !important;
  position: absolute;
  left: 50%;
  top: -8vh;
  bottom: -8vh;
  width: 1px;
  transform: translateX(-50%);
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(232, 224, 255, 0.018) 18%,
    rgba(232, 224, 255, 0.055) 50%,
    rgba(232, 224, 255, 0.018) 82%,
    transparent 100%
  );
  box-shadow: 0 0 22px rgba(168, 85, 247, 0.04);
}

.quiet-empty-workspace.empty-stage-watermark p {
  position: relative;
  z-index: 1;
}


.topbar-branded {
  grid-template-columns: auto 1fr auto;
}

.topbar-side-spacer,
.top-help-btn {
  min-width: 34px;
  width: 34px;
  height: 34px;
  padding: 0;
  justify-content: center;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1;
}

.topbar-side-spacer {
  display: inline-block;
  opacity: 0;
  pointer-events: none;
}

.top-help-btn {
  font-size: 1rem;
}

.help-modal-card {
  max-width: min(760px, calc(100vw - 36px));
}

.help-body {
  display: block;
  max-height: min(64vh, 720px);
  overflow: auto;
  padding-right: 0.25rem;
}

.help-body h3 {
  margin-top: 1.35rem;
}

.help-body h3:first-child {
  margin-top: 0;
}


.brand-inline.viewer-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 34px;
  max-width: min(220px, 28vw);
  overflow: hidden;
}

.brand-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.help-modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  display: grid !important;
  place-items: center !important;
  padding: 24px !important;
  background: rgba(2, 1, 8, 0.62) !important;
  backdrop-filter: blur(8px);
}

.help-modal-card {
  position: relative !important;
  width: min(760px, calc(100vw - 48px)) !important;
  max-height: min(78vh, 820px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  margin: 0 !important;
}

.help-modal-head {
  flex: 0 0 auto;
}

.help-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto !important;
}


.brand-inline.viewer-brand.symbol-only {
  min-width: 34px;
  width: 34px;
}


.help-modal-card {
  width: min(720px, calc(100vw - 48px)) !important;
  max-height: min(74vh, 780px) !important;
  border-radius: 28px;
}

.help-modal-head {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.scan-first-help {
  padding-top: 1rem;
}

.help-intro {
  color: rgba(245, 243, 255, 0.76);
  margin-bottom: 1rem;
}

.help-section-list {
  display: grid;
  gap: 0.7rem;
}

.help-section {
  border: 1px solid rgba(216, 180, 254, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.035);
  overflow: hidden;
}

.help-section[open] {
  background: rgba(168, 85, 247, 0.055);
  border-color: rgba(216, 180, 254, 0.22);
}

.help-section summary {
  cursor: pointer;
  list-style: none;
  padding: 0.9rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: 1.02rem;
  font-weight: 850;
  color: rgba(255, 255, 255, 0.94);
}

.help-section summary::-webkit-details-marker {
  display: none;
}

.help-section summary::after {
  content: "+";
  width: 1.55rem;
  height: 1.55rem;
  min-width: 1.55rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(216, 180, 254, 0.22);
  color: rgba(216, 180, 254, 0.9);
  font-weight: 900;
}

.help-section[open] summary::after {
  content: "–";
}

.help-section-body {
  padding: 0 1rem 1rem;
  color: rgba(245, 243, 255, 0.82);
}

.help-section-body p {
  margin: 0.65rem 0 0;
}

.help-section-body p:first-child {
  margin-top: 0;
}

.help-section-body code,
.scan-first-help code {
  font-size: 0.88em;
  border-radius: 0.35rem;
  padding: 0.08rem 0.28rem;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.92);
}

.help-figure {
  margin: 0.9rem 0 0;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(216, 180, 254, 0.14);
  background: rgba(255, 255, 255, 0.035);
}

.help-figure img {
  display: block;
  width: 100%;
  max-height: min(42vh, 420px);
  object-fit: contain;
}


.help-modal-backdrop {
  padding: clamp(18px, 4vw, 42px) !important;
  background:
    radial-gradient(circle at 50% 12%, rgba(168, 85, 247, 0.12), transparent 36%),
    rgba(2, 1, 8, 0.78) !important;
}

.help-modal-card {
  box-sizing: border-box !important;
  width: min(760px, calc(100vw - 64px)) !important;
  max-height: min(78vh, 820px) !important;
  padding: 0 !important;
  background:
    linear-gradient(180deg, rgba(19, 14, 29, 0.98), rgba(9, 8, 15, 0.985)) !important;
  border: 1px solid rgba(216, 180, 254, 0.2) !important;
  box-shadow:
    0 30px 100px rgba(0, 0, 0, 0.72),
    0 0 0 1px rgba(255, 255, 255, 0.035) inset,
    0 0 52px rgba(168, 85, 247, 0.1) !important;
}

.help-modal-head {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 1.25rem !important;
  padding: 2rem 4.1rem 1.25rem 2.25rem !important;
  border-bottom: 1px solid rgba(216, 180, 254, 0.13) !important;
}

.help-modal-head .tv-btn[data-action="close-modal"] {
  position: absolute !important;
  top: 1.35rem !important;
  right: 1.35rem !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
}

.help-modal-head .kicker-inline {
  display: block;
  max-width: 100%;
  overflow: visible;
  padding-left: 0.02em;
  letter-spacing: 0.14em;
}

.help-modal-head h2 {
  margin: 0.7rem 0 0 !important;
  line-height: 1.08 !important;
}

.help-body.scan-first-help {
  padding: 1.25rem 2.25rem 2.25rem !important;
  color: rgba(248, 246, 255, 0.9);
  scrollbar-gutter: stable;
}

.help-section {
  background:
    linear-gradient(180deg, rgba(30, 24, 43, 0.92), rgba(17, 14, 25, 0.92)) !important;
  border-color: rgba(216, 180, 254, 0.18) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}

.help-section[open] {
  background:
    linear-gradient(180deg, rgba(36, 27, 53, 0.96), rgba(19, 15, 29, 0.96)) !important;
  border-color: rgba(216, 180, 254, 0.3) !important;
}

.help-section summary {
  color: rgba(255, 255, 255, 0.96) !important;
}

.help-section-body {
  color: rgba(248, 246, 255, 0.9) !important;
}

.help-section-body p,
.help-intro p {
  line-height: 1.52;
}

@media (max-width: 640px) {
  .help-modal-card {
    width: calc(100vw - 28px) !important;
    max-height: calc(100vh - 36px) !important;
  }

  .help-modal-head {
    padding: 1.55rem 3.6rem 1.05rem 1.35rem !important;
  }

  .help-body.scan-first-help {
    padding: 1rem 1.35rem 1.45rem !important;
  }
}


.topbar-branded,
.topbar-foundation.topbar-branded,
.topbar.topbar-branded {
  display: grid !important;
  grid-template-columns: 34px max-content 34px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
}

.brand-inline.viewer-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  overflow: visible !important;
  flex: 0 0 34px !important;
}

.brand-inline.viewer-brand.has-label {
  width: auto !important;
  max-width: min(220px, 28vw) !important;
  justify-content: flex-start !important;
}

.top-actions.workspace-top-actions-layout.workspace-top-actions-toolbar {
  min-width: 0;
}


.brand-inline.viewer-brand {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.topbar.topbar-branded,
.topbar-branded,
.topbar-foundation.topbar-branded {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  width: fit-content !important;
  max-width: calc(100vw - 28px) !important;
  margin-inline: auto !important;
  padding: 0.32rem 0.38rem !important;
}

.top-actions.workspace-top-actions-layout.workspace-top-actions-toolbar {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.42rem !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
}

.viewer-brand-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  padding: 0 !important;
  overflow: visible !important;
  border-radius: 999px !important;
}

.viewer-brand-link.has-label {
  width: auto !important;
  max-width: min(220px, 30vw) !important;
  padding-inline: 0 !important;
}

.viewer-brand-link-slot {
  position: relative !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.18), transparent 34%),
    linear-gradient(135deg, rgba(168, 85, 247, 0.54), rgba(88, 28, 135, 0.38)) !important;
  border: 1px solid rgba(216, 180, 254, 0.52) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.05),
    0 0 16px rgba(168, 85, 247, 0.2) !important;
}

.viewer-brand-link-img {
  position: relative !important;
  z-index: 3 !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  mix-blend-mode: normal !important;
  filter:
    drop-shadow(0 0 5px rgba(255, 255, 255, 0.28))
    drop-shadow(0 0 9px rgba(216, 180, 254, 0.34)) !important;
}

.viewer-brand-link-letter {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  opacity: 0.22 !important;
  color: rgba(255, 255, 255, 0.96) !important;
  font-size: 0.9rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -0.06em !important;
  text-shadow: 0 0 12px rgba(216, 180, 254, 0.82) !important;
}

.viewer-brand-link-slot.show-letter-fallback .viewer-brand-link-letter {
  opacity: 1 !important;
}

.top-help-btn {
  flex: 0 0 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
}


/* Root cause: older symbol-only brand CSS hid every direct span except .brand-mark. */
.brand-inline > .viewer-brand-link-slot {
  display: inline-flex !important;
}

.brand-inline > .viewer-brand-link-slot {
  visibility: visible !important;
  opacity: 1 !important;
}


.search-box input[data-search] {
  caret-color: rgba(255, 255, 255, 0.95);
}

.search-box:focus-within {
  box-shadow:
    0 0 0 1px rgba(216, 180, 254, 0.36),
    0 0 0 4px rgba(168, 85, 247, 0.09);
}


.schema-nav-badge {
  cursor: pointer;
  border: 0;
  font: inherit;
}

.schema-nav-badge:hover,
.schema-nav-badge:focus-visible {
  box-shadow:
    0 0 0 1px rgba(216, 180, 254, 0.45),
    0 0 0 4px rgba(168, 85, 247, 0.1);
  transform: translateY(-0.5px);
}

.schema-mini-action {
  border-color: rgba(216, 180, 254, 0.35) !important;
}

.schema-lineage-post {
  border-color: rgba(250, 204, 21, 0.22);
}


/* Keep the purple identity, but make reading surfaces crisper for external validators. */
.help-modal-card,
.help-section,
.help-section[open],
.help-modal-head,
.help-body.scan-first-help {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.help-modal-card {
  background:
    linear-gradient(180deg, rgba(16, 12, 24, 0.992), rgba(8, 7, 13, 0.995)) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.help-modal-backdrop {
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

.help-modal-head {
  background: rgba(12, 9, 18, 0.94) !important;
}

.help-modal-head h2,
.help-modal-head .kicker-inline,
.help-section summary,
.help-section-body,
.help-section-body p,
.help-intro,
.help-intro p {
  text-shadow: none !important;
  filter: none !important;
}

.help-modal-head .kicker-inline {
  color: rgba(216, 180, 254, 0.98) !important;
  font-weight: 900 !important;
  letter-spacing: 0.13em !important;
}

.help-modal-head h2 {
  color: rgba(255, 255, 255, 0.97) !important;
  font-weight: 850 !important;
}

.help-section {
  background:
    linear-gradient(180deg, rgba(29, 22, 42, 0.985), rgba(16, 13, 24, 0.99)) !important;
  border-color: rgba(216, 180, 254, 0.24) !important;
  box-shadow:
    0 12px 30px rgba(0, 0, 0, 0.24),
    inset 0 0 0 1px rgba(255, 255, 255, 0.025) !important;
}

.help-section[open] {
  background:
    linear-gradient(180deg, rgba(35, 26, 52, 0.992), rgba(18, 14, 28, 0.995)) !important;
  border-color: rgba(216, 180, 254, 0.36) !important;
}

.help-section summary {
  color: rgba(255, 255, 255, 0.985) !important;
  font-weight: 850 !important;
  line-height: 1.22 !important;
}

.help-section-body {
  color: rgba(250, 248, 255, 0.93) !important;
  font-weight: 480 !important;
}

.help-section-body p,
.help-intro p {
  line-height: 1.6 !important;
  letter-spacing: 0.002em;
}

.help-section summary::after {
  color: rgba(226, 197, 255, 0.98) !important;
  background: rgba(20, 14, 30, 0.92) !important;
  box-shadow: none !important;
}

.help-section-body code,
.scan-first-help code {
  background: rgba(255, 255, 255, 0.105) !important;
  color: rgba(255, 255, 255, 0.98) !important;
  text-shadow: none !important;
}

@media (prefers-reduced-transparency: reduce) {
  .help-modal-backdrop {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(2, 1, 8, 0.9) !important;
  }
}


/* External validator: smallest badges were hard to read; keep purple accent but normalize chip typography. */
.post-chips {
  gap: 0.42rem !important;
  align-items: center !important;
}

.post-chips .badge-soft,
.post-chips .badge-schema,
.post-chips .material-chip,
.post-chips .muted-chip,
.post-chips .source-badge,
.lineage-post .badge-soft,
.lineage-post .badge-schema,
.lineage-post .material-chip {
  font-size: 0.74rem !important;
  line-height: 1.15 !important;
  font-weight: 680 !important;
  letter-spacing: 0.005em !important;
  min-height: 1.55rem !important;
  padding: 0.26rem 0.55rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.28rem !important;
  white-space: nowrap !important;
  text-shadow: none !important;
  filter: none !important;
}

.post-chips .badge-schema,
.post-chips .schema-nav-badge {
  font-size: 0.76rem !important;
  font-weight: 720 !important;
  padding-inline: 0.58rem !important;
}

.post-chips .source-badge,
.post-chips .muted-chip {
  color: rgba(235, 229, 244, 0.86) !important;
}

.post-chips .badge-schema,
.post-chips .material-chip {
  color: rgba(231, 207, 255, 0.95) !important;
}

.post-chips .badge-soft i,
.post-chips .badge-schema i,
.post-chips .material-chip i,
.lineage-post .badge-soft i {
  font-size: 0.72rem !important;
  line-height: 1 !important;
  opacity: 0.92 !important;
}

.integrity-chip,
.post-chips .integrity-chip,
.post-chips .danger-chip,
.post-chips .badge-soft.danger-chip {
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  color: rgba(255, 195, 205, 0.96) !important;
}

/* Keep compact badges readable on narrow cards without making the feedback/type chip dominate. */
@media (max-width: 680px) {
  .post-chips .badge-soft,
  .post-chips .badge-schema,
  .post-chips .material-chip,
  .post-chips .muted-chip,
  .post-chips .source-badge {
    font-size: 0.72rem !important;
    padding: 0.24rem 0.48rem !important;
  }
}


.post-chips {
  gap: 0.4rem !important;
  align-items: center !important;
}

.post-chips .badge-soft,
.post-chips .badge-schema,
.post-chips .material-chip,
.post-chips .muted-chip,
.post-chips .source-badge,
.lineage-post .badge-soft,
.lineage-post .badge-schema,
.lineage-post .material-chip {
  font-size: 0.68rem !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  letter-spacing: 0.004em !important;
  min-height: 1.42rem !important;
  padding: 0.22rem 0.5rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
  white-space: nowrap !important;
  text-shadow: none !important;
  filter: none !important;
}

/* Source badge: cool neutral, distinct from type. */
.post-chips .source-badge,
.lineage-post .source-badge {
  color: rgba(226, 222, 236, 0.9) !important;
  background: rgba(70, 65, 86, 0.34) !important;
  border-color: rgba(190, 184, 210, 0.18) !important;
}

/* Type/schema badge: restore Tiinex purple identity. */
.post-chips .badge-schema,
.post-chips .schema-nav-badge,
.lineage-post .badge-schema {
  font-size: 0.68rem !important;
  color: rgba(226, 190, 255, 0.98) !important;
  background: rgba(116, 55, 170, 0.28) !important;
  border-color: rgba(201, 129, 255, 0.34) !important;
}

/* Date / relation: muted but readable. */
.post-chips .muted-chip,
.lineage-post .muted-chip {
  color: rgba(225, 219, 236, 0.86) !important;
  background: rgba(72, 68, 87, 0.28) !important;
  border-color: rgba(190, 184, 210, 0.16) !important;
}

/* Material chips: purple outline identity, less dominant than type. */
.post-chips .material-chip,
.lineage-post .material-chip {
  color: rgba(221, 184, 255, 0.96) !important;
  background: rgba(99, 45, 155, 0.2) !important;
  border-color: rgba(194, 112, 255, 0.32) !important;
}

/* Integrity danger: keep strong red semantic signal. */
.post-chips .integrity-chip,
.integrity-chip,
.post-chips .danger-chip,
.post-chips .badge-soft.danger-chip,
.lineage-post .integrity-chip {
  font-size: 0.68rem !important;
  color: rgba(255, 198, 207, 0.98) !important;
  background: rgba(174, 47, 75, 0.22) !important;
  border-color: rgba(255, 99, 132, 0.55) !important;
  font-weight: 720 !important;
}

.post-chips .badge-soft i,
.post-chips .badge-schema i,
.post-chips .material-chip i,
.lineage-post .badge-soft i {
  font-size: 0.68rem !important;
  line-height: 1 !important;
  opacity: 0.92 !important;
}

/* Let browser zoom do the heavy lifting; keep default density pleasant. */
@media (max-width: 680px) {
  .post-chips .badge-soft,
  .post-chips .badge-schema,
  .post-chips .material-chip,
  .post-chips .muted-chip,
  .post-chips .source-badge {
    font-size: 0.66rem !important;
    padding: 0.2rem 0.45rem !important;
  }
}


.selected-chip {
  color: rgba(228, 222, 240, 0.9) !important;
  background: rgba(82, 73, 98, 0.28) !important;
  border-color: rgba(201, 190, 222, 0.18) !important;
}

.relation-chip {
  color: rgba(228, 222, 240, 0.84) !important;
}


.integrity-badge.pending {
  color: rgba(244, 224, 164, 0.96) !important;
  background: rgba(168, 125, 36, 0.16) !important;
  border-color: rgba(245, 197, 83, 0.36) !important;
}


.integrity-badge.pending {
  color: rgba(244, 224, 164, 0.97) !important;
  background: rgba(168, 125, 36, 0.15) !important;
  border-color: rgba(245, 197, 83, 0.34) !important;
}


/* Keep the existing visual direction, but slightly reduce topbar dominance. */
.topbar-branded,
.topbar.topbar-branded,
.topbar-foundation.topbar-branded {
  transform: scale(0.96);
  transform-origin: top center;
}

.top-actions.workspace-top-actions-layout.workspace-top-actions-toolbar .tv-btn,
.topbar .tv-btn {
  font-size: 0.92rem !important;
}

.top-help-btn,
.viewer-brand-link,
.brand-inline.viewer-brand {
  transform: scale(0.96);
}


.integrity-badge.unresolved {
  color: rgba(244, 224, 164, 0.98) !important;
  background: rgba(168, 125, 36, 0.14) !important;
  border-color: rgba(245, 197, 83, 0.32) !important;
}


.help-section-list.nested {
  margin-top: 0.9rem;
  display: grid;
  gap: 0.65rem;
}

.help-section-list.nested .help-section {
  border-radius: 1.05rem;
  background:
    linear-gradient(180deg, rgba(24, 18, 36, 0.96), rgba(13, 10, 21, 0.98)) !important;
  border-color: rgba(216, 180, 254, 0.22) !important;
  box-shadow: none !important;
}

.help-section-depth-1 summary,
.help-section-depth-2 summary,
.help-section-depth-3 summary,
.help-section-depth-4 summary {
  font-size: 0.96em !important;
}

.help-section-depth-2,
.help-section-depth-3,
.help-section-depth-4 {
  margin-left: 0.45rem;
}

.help-rule {
  border: 0;
  border-top: 1px solid rgba(216, 180, 254, 0.18);
  margin: 0.9rem 0;
}


.integrity-diagnostic-trigger {
  cursor: pointer;
  border: 1px solid currentColor;
  font: inherit;
}

.integrity-diagnostic-trigger:hover,
.integrity-diagnostic-trigger:focus-visible {
  box-shadow:
    0 0 0 1px rgba(245, 197, 83, 0.35),
    0 0 0 4px rgba(245, 197, 83, 0.09);
}

.integrity-modal-card {
  max-width: min(880px, calc(100vw - 2rem));
}

.integrity-diagnostics-body {
  padding: 1.25rem;
  display: grid;
  gap: 1rem;
}

.integrity-summary {
  border: 1px solid rgba(245, 197, 83, 0.28);
  background: rgba(168, 125, 36, 0.12);
  border-radius: 1rem;
  padding: 0.85rem 1rem;
  display: grid;
  gap: 0.25rem;
}

.integrity-summary strong {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(245, 222, 164, 0.98);
}

.integrity-method-authority {
  border: 1px solid rgba(216, 180, 254, 0.18);
  background: rgba(124, 58, 237, 0.08);
  border-radius: 1rem;
  padding: 0.95rem;
  display: grid;
  gap: 0.85rem;
}

.integrity-method-authority.draft-finality {
  border-color: rgba(250, 204, 21, 0.2);
  background: rgba(250, 204, 21, 0.055);
}

.integrity-method-authority-main h3 {
  margin: 0.15rem 0 0.25rem;
  color: rgba(248, 246, 255, 0.96);
  overflow-wrap: anywhere;
}

.integrity-method-authority-main p {
  margin: 0;
  color: rgba(226, 216, 255, 0.78);
}

.integrity-authority-signals {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.integrity-authority-signals div {
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 0.75rem;
  padding: 0.65rem;
  background: rgba(255, 255, 255, 0.035);
}

.integrity-authority-signals dt {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(216, 180, 254, 0.78);
  margin-bottom: 0.25rem;
}

.integrity-authority-signals dd {
  margin: 0;
  color: rgba(248, 246, 255, 0.92);
  overflow-wrap: anywhere;
}

.integrity-method-authority-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.integrity-validation-entries {
  border: 1px solid rgba(216, 180, 254, 0.16);
  background: rgba(15, 23, 42, 0.42);
  border-radius: 1rem;
  padding: 0.95rem;
  display: grid;
  gap: 0.75rem;
}

.integrity-validation-entries-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: rgba(226, 216, 255, 0.82);
}

.integrity-validation-entries-head p {
  margin: 0;
}

.integrity-validation-entries-head span {
  font-size: 0.84rem;
  color: rgba(226, 216, 255, 0.72);
  text-align: right;
}

.integrity-validation-entry-list {
  display: grid;
  gap: 0.65rem;
}

.integrity-validation-entry {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.035);
  padding: 0.75rem;
  display: grid;
  gap: 0.65rem;
}

.integrity-validation-entry.active {
  border-color: rgba(74, 222, 128, 0.42);
  background: rgba(22, 163, 74, 0.08);
}

.integrity-validation-entry.preserved-not-evaluated {
  border-color: rgba(216, 180, 254, 0.22);
}

.integrity-validation-entry.incomplete-entry {
  border-color: rgba(251, 191, 36, 0.42);
  background: rgba(251, 191, 36, 0.07);
}

.integrity-validation-entry header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.integrity-validation-entry header span {
  color: rgba(216, 180, 254, 0.82);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.integrity-validation-entry header strong {
  color: rgba(248, 246, 255, 0.94);
  text-align: right;
}

.integrity-validation-entry dl {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.integrity-validation-entry dt {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(216, 180, 254, 0.72);
  margin-bottom: 0.18rem;
}

.integrity-validation-entry dd {
  margin: 0;
  color: rgba(248, 246, 255, 0.9);
  overflow-wrap: anywhere;
}

.integrity-validation-entry a {
  color: rgba(233, 213, 255, 0.96);
}

@media (max-width: 720px) {
  .integrity-validation-entries-head,
  .integrity-validation-entry header {
    align-items: flex-start;
    flex-direction: column;
  }

  .integrity-validation-entries-head span,
  .integrity-validation-entry header strong {
    text-align: left;
  }

  .integrity-validation-entry dl {
    grid-template-columns: 1fr;
  }
}

.method-definition-lineage-post {
  border-color: rgba(216, 180, 254, 0.24);
}

.method-definition-chip {
  color: rgba(233, 213, 255, 0.96) !important;
  background: rgba(124, 58, 237, 0.16) !important;
  border-color: rgba(216, 180, 254, 0.34) !important;
}

@media (max-width: 720px) {
  .integrity-authority-signals {
    grid-template-columns: 1fr;
  }
}

.integrity-kv-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
}

.integrity-kv {
  border: 1px solid rgba(216, 180, 254, 0.16);
  background: rgba(255, 255, 255, 0.035);
  border-radius: 0.85rem;
  padding: 0.75rem;
  min-width: 0;
}

.integrity-kv dt {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(216, 180, 254, 0.8);
  margin-bottom: 0.35rem;
}

.integrity-kv dd {
  margin: 0;
  color: rgba(248, 246, 255, 0.92);
  overflow-wrap: anywhere;
}

.integrity-kv .mono,
.integrity-hash-row .mono,
.integrity-raw code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.integrity-hash-table {
  border: 1px solid rgba(216, 180, 254, 0.16);
  border-radius: 0.95rem;
  overflow: hidden;
}

.integrity-hash-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.1fr) minmax(160px, 1fr) minmax(90px, 0.5fr);
  gap: 0.75rem;
  padding: 0.65rem 0.8rem;
  border-top: 1px solid rgba(216, 180, 254, 0.1);
  align-items: center;
}

.integrity-hash-row.head {
  border-top: 0;
  background: rgba(216, 180, 254, 0.07);
  color: rgba(216, 180, 254, 0.9);
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.integrity-hash-row.match {
  background: rgba(34, 197, 94, 0.08);
}

.diag-ok {
  color: rgba(134, 239, 172, 0.96);
  font-weight: 800;
}

.diag-muted {
  color: rgba(224, 216, 236, 0.68);
}

.integrity-raw {
  border: 1px solid rgba(216, 180, 254, 0.16);
  border-radius: 0.95rem;
  padding: 0.75rem;
}

.integrity-raw pre {
  overflow: auto;
  white-space: pre-wrap;
  margin: 0.75rem 0 0;
}

@media (max-width: 720px) {
  .integrity-kv-grid,
  .integrity-hash-row {
    grid-template-columns: 1fr;
  }
}


/* Tree rows need a compact status signal; feed cards can keep the richer label. */
.tree-node .integrity-badge,
.tree-row .integrity-badge,
.discovery-tree .integrity-badge,
.folder-tree .integrity-badge {
  font-size: 0.62rem !important;
  min-height: 1.24rem !important;
  padding: 0.16rem 0.38rem !important;
  max-width: 8.5rem !important;
  width: auto !important;
  justify-self: start !important;
  align-self: center !important;
}

.tree-node .integrity-badge i,
.tree-row .integrity-badge i,
.discovery-tree .integrity-badge i,
.folder-tree .integrity-badge i {
  font-size: 0.62rem !important;
}

.tree-node .integrity-badge.schema-unverified,
.tree-row .integrity-badge.schema-unverified,
.discovery-tree .integrity-badge.schema-unverified,
.folder-tree .integrity-badge.schema-unverified {
  color: rgba(232, 213, 255, 0.92) !important;
  background: rgba(116, 55, 170, 0.18) !important;
  border-color: rgba(201, 129, 255, 0.28) !important;
}

/* In tree mode the wordy unresolved label is intentionally less dominant. */
.tree-node .integrity-badge.unresolved,
.tree-row .integrity-badge.unresolved,
.discovery-tree .integrity-badge.unresolved,
.folder-tree .integrity-badge.unresolved {
  color: rgba(244, 224, 164, 0.9) !important;
  background: rgba(168, 125, 36, 0.11) !important;
  border-color: rgba(245, 197, 83, 0.24) !important;
}

/* Feed cards still get readable chips, but not oversized buttons. */
.lineage-post .integrity-diagnostic-trigger,
.post-chips .integrity-diagnostic-trigger {
  appearance: none;
  max-width: max-content;
}


.integrity-badge.ok {
  color: rgba(134, 239, 172, 0.97) !important;
  background: rgba(22, 163, 74, 0.16) !important;
  border-color: rgba(74, 222, 128, 0.42) !important;
}


.integrity-modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(0.75rem, 3vw, 2rem) !important;
  background:
    radial-gradient(circle at 50% 15%, rgba(139, 92, 246, 0.16), transparent 38%),
    rgba(5, 4, 10, 0.72) !important;
  backdrop-filter: blur(18px) saturate(1.05) !important;
}

.integrity-modal-card {
  width: min(860px, calc(100vw - 2rem)) !important;
  max-height: min(82vh, 920px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 1.35rem !important;
  border: 1px solid rgba(216, 180, 254, 0.24) !important;
  background:
    linear-gradient(180deg, rgba(23, 18, 34, 0.98), rgba(9, 8, 15, 0.99)) !important;
  box-shadow:
    0 28px 90px rgba(0, 0, 0, 0.52),
    0 0 0 1px rgba(139, 92, 246, 0.09) !important;
}

.integrity-modal-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  padding: 1.05rem 1.15rem !important;
  border-bottom: 1px solid rgba(216, 180, 254, 0.16) !important;
  background: rgba(15, 12, 24, 0.96) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}

.integrity-modal-head h2 {
  margin: 0.2rem 0 0 !important;
  font-size: clamp(1.1rem, 2.2vw, 1.7rem) !important;
  line-height: 1.12 !important;
}

.integrity-diagnostics-body {
  max-height: calc(min(82vh, 920px) - 5.5rem) !important;
  overflow: auto !important;
  padding: clamp(0.85rem, 2.2vw, 1.25rem) !important;
}

.integrity-summary.verified {
  border-color: rgba(74, 222, 128, 0.32) !important;
  background: rgba(22, 163, 74, 0.12) !important;
}

.integrity-summary.mismatch {
  border-color: rgba(248, 113, 113, 0.38) !important;
  background: rgba(127, 29, 29, 0.14) !important;
}

.integrity-summary strong {
  font-size: 0.82rem !important;
}

.integrity-kv-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.integrity-diagnostic-trigger {
  line-height: 1 !important;
}

@media (max-width: 720px) {
  .integrity-modal-backdrop {
    align-items: stretch !important;
    justify-content: stretch !important;
    padding: 0.65rem !important;
  }

  .integrity-modal-card {
    width: 100% !important;
    max-height: calc(100dvh - 1.3rem) !important;
    border-radius: 1.1rem !important;
  }

  .integrity-diagnostics-body {
    max-height: calc(100dvh - 6.8rem) !important;
  }

  .integrity-kv-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Integrity diagnostics owns its mobile action placement; generic mobile modal
   sticky footers should not cover explanatory content here. */
@media (max-width: 720px) {
  body.mobile-chrome .integrity-modal-card .modal-actions,
  .integrity-modal-card .modal-actions {
    position: static !important;
    bottom: auto !important;
    z-index: auto !important;
    padding: 0.72rem 0 0 !important;
    margin: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    border-top: 0 !important;
  }

  body.mobile-chrome .integrity-modal-card .modal-actions .tv-btn,
  .integrity-modal-card .modal-actions .tv-btn {
    width: 100% !important;
    justify-content: center !important;
  }
}


/* Tree view is an index, not a card surface: keep status icons, move text to tooltip. */
.discovery-tree .integrity-badge,
.folder-tree .integrity-badge,
.tree-node .integrity-badge,
.tree-row .integrity-badge {
  width: 1.32rem !important;
  min-width: 1.32rem !important;
  max-width: 1.32rem !important;
  height: 1.32rem !important;
  min-height: 1.32rem !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 1 !important;
  border-radius: 999px !important;
}

.discovery-tree .integrity-badge i,
.folder-tree .integrity-badge i,
.tree-node .integrity-badge i,
.tree-row .integrity-badge i {
  font-size: 0.66rem !important;
  margin: 0 !important;
  opacity: 0.98 !important;
}

.discovery-tree .integrity-badge::after,
.folder-tree .integrity-badge::after,
.tree-node .integrity-badge::after,
.tree-row .integrity-badge::after {
  content: none !important;
}

/* Keep feed and lineage cards textful; only tree/index rows are reduced. */
.lineage-post .integrity-badge,
.post-chips .integrity-badge {
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  height: auto !important;
  min-height: 1.42rem !important;
  padding: 0.22rem 0.5rem !important;
  font-size: 0.68rem !important;
}


.tree-file-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 0.65rem !important;
  width: 100% !important;
  overflow: hidden !important;
}

.tree-file-row .tree-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.tree-file-row .tree-primary > i {
  flex: 0 0 auto !important;
}


.tree-file-row .tree-badges {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.38rem !important;
  min-width: 0 !important;
  max-width: min(62%, 30rem) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}


.discovery-tree .tree-file-row .integrity-badge,
.folder-tree .tree-file-row .integrity-badge,
.tree-node .tree-file-row .integrity-badge,
.tree-row.tree-file-row .integrity-badge {
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  height: auto !important;
  min-height: 1.28rem !important;
  padding: 0.16rem 0.42rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.25rem !important;
  overflow: hidden !important;
  font-size: 0.62rem !important;
  line-height: 1 !important;
  border-radius: 999px !important;
}


/* For very narrow tree rows, keep the label but trim gracefully instead of wrapping. */
@media (max-width: 760px) {
  .tree-file-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, auto) !important;
    gap: 0.45rem !important;
  }

  .tree-file-row .tree-badges {
    max-width: 48vw !important;
  }

  .tree-file-row .tree-badges .badge-soft:not(.integrity-badge):not(.badge-schema) {
    display: none !important;
  }
}


.brand-inline.viewer-brand .brand-icon-img {
  width: 26px !important;
  height: 26px !important;
  flex-basis: 26px !important;
}

.brand-mark {
  width: 26px !important;
  height: 26px !important;
}

.brand-mark::before {
  width: 26px !important;
  height: 26px !important;
}

.integrity-badge.danger.missing {
  color: rgba(255, 184, 184, 0.98) !important;
  background: rgba(127, 29, 29, 0.22) !important;
  border-color: rgba(248, 113, 113, 0.48) !important;
}

/* Keep tree badges on the same row after removing leaf boilerplate. */
.tree-file-row .tree-badges {
  gap: 0.38rem !important;
  align-items: center !important;
  white-space: nowrap !important;
}

.tree-file-row .tree-count:empty {
  display: none !important;
}


.tree-file-row .tree-badges {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.38rem !important;
}

.tree-file-row .tree-badges .tree-integrity-badge {
  flex: 0 0 auto !important;
}


/* Badges should stay inline and visible. The filename is the thing that yields. */
.tree-file-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: center !important;
  gap: 0.75rem !important;
  width: 100% !important;
  overflow: hidden !important;
}

.tree-file-row .tree-primary {
  min-width: 0 !important;
  overflow: hidden !important;
}

.tree-file-row .tree-name {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.tree-file-row .tree-badges {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.38rem !important;
  min-width: max-content !important;
  max-width: none !important;
  overflow: visible !important;
  white-space: nowrap !important;
}

.tree-file-row .tree-badges > * {
  flex: 0 0 auto !important;
}

.tree-file-row .tree-badges .badge-schema {
  max-width: 11rem !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.tree-file-row .tree-badges .tree-integrity-badge,
.tree-file-row .tree-badges .integrity-badge {
  max-width: max-content !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

/* Reset earlier broad tree selectors that forced icon-only or clipped badges. */
.discovery-tree .tree-file-row .integrity-badge,
.folder-tree .tree-file-row .integrity-badge,
.tree-node .tree-file-row .integrity-badge,
.tree-row.tree-file-row .integrity-badge {
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  height: auto !important;
  min-height: 1.28rem !important;
  padding: 0.16rem 0.42rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.25rem !important;
  overflow: visible !important;
  font-size: 0.62rem !important;
  line-height: 1 !important;
  border-radius: 999px !important;
}

.discovery-tree .tree-file-row .integrity-badge i,
.folder-tree .tree-file-row .integrity-badge i,
.tree-node .tree-file-row .integrity-badge i,
.tree-row.tree-file-row .integrity-badge i {
  font-size: 0.62rem !important;
  margin: 0 !important;
}

@media (max-width: 760px) {
  .tree-file-row {
    gap: 0.5rem !important;
  }

  .tree-file-row .tree-badges .badge-schema {
    max-width: 7rem !important;
  }
}


/* Shared modal rule: the viewport scroll belongs inside the modal body, not behind
   the header or outside the panel. Keep this broad because multiple lightbox
   surfaces intentionally share the same viewport contract. */
.modal-backdrop,
.modal-backdrop-custom,
.integrity-modal-backdrop,
.help-modal-backdrop,
.schema-read-backdrop,
.schema-modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(0.75rem, 3vw, 2rem) !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
}

.modal-card,
.modal-panel,
.integrity-modal-card,
.help-modal-card,
.schema-read-modal,
.schema-modal-card,
.source-modal-panel {
  display: flex !important;
  flex-direction: column !important;
  width: min(920px, calc(100vw - 2rem)) !important;
  max-height: min(86dvh, 940px) !important;
  overflow: hidden !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.modal-head,
.modal-header-lite,
.integrity-modal-head,
.help-modal-head,
.schema-read-head,
.schema-modal-head {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 3 !important;
  background:
    linear-gradient(180deg, rgba(16, 13, 25, 0.99), rgba(16, 13, 25, 0.965)) !important;
  border-bottom: 1px solid rgba(216, 180, 254, 0.16) !important;
}

/* Body/content areas should own scroll. */
.modal-body,
.modal-content-lite,
.integrity-diagnostics-body,
.help-modal-body,
.schema-read-body,
.schema-modal-body,
.schema-read-content,
.source-modal-panel > :not(.modal-header-lite) {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
}

/* Schema Read View currently appears with a tall header and markdown body. Make the
   body start after the header and prevent text from sliding underneath it. */
.schema-read-modal {
  border-radius: 1.35rem !important;
}

.schema-read-head {
  padding: clamp(1rem, 2vw, 1.35rem) clamp(1rem, 2.4vw, 1.55rem) !important;
}

.schema-read-body,
.schema-read-content {
  padding: clamp(1rem, 2vw, 1.35rem) clamp(1rem, 2.4vw, 1.55rem) !important;
}

/* If an older schema modal has direct markdown children rather than an explicit body,
   keep the whole panel scrollable below its header without letting content escape. */
.schema-read-modal > *:not(.schema-read-head):not(.modal-head):not(.modal-header-lite) {
  min-height: 0 !important;
}

/* Prevent sticky child headers inside modal bodies from pinning underneath the modal
   header and creating the illusion of content leaking through. */
.modal-card [style*="position: sticky"],
.modal-panel [style*="position: sticky"],
.schema-read-modal [style*="position: sticky"] {
  position: static !important;
}

@media (max-width: 720px) {
  .modal-backdrop,
  .modal-backdrop-custom,
  .integrity-modal-backdrop,
  .help-modal-backdrop,
  .schema-read-backdrop,
  .schema-modal-backdrop {
    align-items: stretch !important;
    justify-content: stretch !important;
    padding: 0.65rem !important;
  }

  .modal-card,
  .modal-panel,
  .integrity-modal-card,
  .help-modal-card,
  .schema-read-modal,
  .schema-modal-card,
  .source-modal-panel {
    width: 100% !important;
    max-height: calc(100dvh - 1.3rem) !important;
    border-radius: 1.1rem !important;
  }
}


/* Grounded in manual browser CSS tuning: larger visual mark, stable 38px slot,
   no old inline-span offsets, and clipped centered logo. */
.brand-inline > span:not(.brand-mark) {
  position: relative !important;
  top: 0 !important;
  transform: none !important;
  line-height: 1 !important;
  margin: 0 !important;
  text-shadow: none !important;
  filter: none !important;
}

.viewer-brand-link-slot,
.brand-inline.viewer-brand.symbol-only,
.brand-inline.viewer-brand .viewer-brand-link-slot {
  position: relative !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.18), transparent 34%),
    linear-gradient(135deg, rgba(168, 85, 247, 0.54), rgba(88, 28, 135, 0.38)) !important;
  border: 1px solid rgba(216, 180, 254, 0.52) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.05),
    0 0 16px rgba(168, 85, 247, 0.20) !important;
}

.viewer-brand-link-img,
.brand-inline.viewer-brand .brand-icon-img,
.brand-inline.viewer-brand img {
  margin: 0 !important;
  position: static !important;
  z-index: 3 !important;
  display: block !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  mix-blend-mode: normal !important;
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.28)) drop-shadow(0 0 9px rgba(216, 180, 254, 0.34)) !important;
}

/* Fallback pseudo-mark should not fight configured image brands. */
.brand-inline.viewer-brand .brand-mark::before,
.viewer-brand-link-slot .brand-mark::before {
  content: none !important;
}


/* Read/Markdown modals predate the newer modal containment pass. Give them their
   own explicit header + scroll-body structure, similar to the working markdown view. */
.read-modal-backdrop.focus-modal.modal-backdrop-custom {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(0.75rem, 3vw, 2rem) !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
}

.read-modal-panel {
  width: min(1120px, calc(100vw - 2rem)) !important;
  height: min(86dvh, 940px) !important;
  min-height: 0 !important;
  max-height: min(86dvh, 940px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 1.35rem !important;
  border: 1px solid rgba(216, 180, 254, 0.22) !important;
  background:
    linear-gradient(180deg, rgba(18, 15, 28, 0.98), rgba(11, 10, 18, 0.99)) !important;
  box-shadow:
    0 28px 90px rgba(0, 0, 0, 0.52),
    0 0 0 1px rgba(139, 92, 246, 0.08) !important;
}

.read-modal-panel .read-modal-head,
.read-modal-panel .sticky-modal-head {
  flex: 0 0 auto !important;
  position: relative !important;
  top: auto !important;
  z-index: 3 !important;
  margin: 0 !important;
  padding: clamp(1rem, 2vw, 1.35rem) clamp(1rem, 2.4vw, 1.55rem) !important;
  border-radius: 0 !important;
  border-bottom: 1px solid rgba(216, 180, 254, 0.16) !important;
  background:
    linear-gradient(180deg, rgba(16, 13, 25, 0.99), rgba(16, 13, 25, 0.965)) !important;
  backdrop-filter: none !important;
}

.read-modal-panel .modal-read-scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  padding: clamp(1rem, 2vw, 1.35rem) clamp(1rem, 2.4vw, 1.55rem) !important;
}

.read-modal-panel .modal-read-body {
  color: var(--tv-ink) !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.read-modal-panel .modal-source {
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
}

.read-modal-panel .detail-read-head {
  margin-top: 0 !important;
}

.read-modal-panel .markdown-rendered,
.read-modal-panel .modal-read-body {
  max-width: none !important;
}


.read-modal-panel > :not(.read-modal-head):not(.sticky-modal-head):not(.modal-header-lite):not(.modal-read-scroll) {
  overflow: visible !important;
}

@media (max-width: 720px) {
  .read-modal-backdrop.focus-modal.modal-backdrop-custom {
    align-items: stretch !important;
    justify-content: stretch !important;
    padding: 0.65rem !important;
  }

  .read-modal-panel {
    width: 100% !important;
    height: calc(100dvh - 1.3rem) !important;
    max-height: calc(100dvh - 1.3rem) !important;
    border-radius: 1.1rem !important;
  }
}


/* Make Help headings read sharper: less swollen weight, no glow, steadier spacing. */
.help-modal-card h1,
.help-modal-card h2,
.help-modal-card h3,
.help-modal-card h4,
.help-modal-card summary,
.help-section summary,
.help-section-body h3,
.help-section-body h4,
.help-section-body h5,
.help-section-body h6 {
  font-weight: 720 !important;
  letter-spacing: -0.012em !important;
  line-height: 1.28 !important;
  text-shadow: none !important;
  filter: none !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
}

.help-modal-head h2,
.help-modal-card .help-title,
.help-modal-card h1 {
  font-weight: 740 !important;
  letter-spacing: -0.018em !important;
  line-height: 1.14 !important;
}

.help-section summary {
  font-size: 0.98rem !important;
  color: rgba(248, 246, 255, 0.94) !important;
}

.help-section-depth-1 summary,
.help-section-depth-2 summary,
.help-section-depth-3 summary,
.help-section-depth-4 summary {
  font-weight: 700 !important;
  font-size: 0.94rem !important;
  letter-spacing: -0.006em !important;
}

.help-section-body,
.help-section-body p,
.help-section-body li {
  font-weight: 440 !important;
  line-height: 1.58 !important;
  text-shadow: none !important;
  filter: none !important;
}

.help-section-body strong {
  font-weight: 680 !important;
}

/* Keep the Tiinex purple identity on labels/kickers, but not as fuzzy text glow. */
.help-modal-card .kicker,
.help-modal-card .kicker-inline,
.help-modal-head .kicker,
.help-modal-head .kicker-inline {
  text-shadow: none !important;
  filter: none !important;
  font-weight: 760 !important;
  letter-spacing: 0.12em !important;
}


.stat-pill.policy {
  appearance: none;
  border: 1px solid var(--tv-line-soft);
  cursor: pointer;
  font: inherit;
}

.stat-pill.policy:hover,
.stat-pill.policy:focus-visible {
  color: var(--tv-ink);
  border-color: rgba(216, 180, 254, 0.45);
  box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.10);
}

.policy-document-panel {
  max-width: min(920px, calc(100vw - 2rem)) !important;
}

.policy-document-head .modal-title-lite {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.policy-document-scroll {
  display: grid;
  gap: 1rem;
}

.policy-document-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.policy-document-rendered {
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.025);
  padding: clamp(0.9rem, 2vw, 1.15rem);
  overflow-wrap: anywhere;
}

.policy-document-rendered pre {
  white-space: pre-wrap;
  overflow-x: auto;
}

.policy-empty-note {
  border: 1px dashed rgba(216, 180, 254, 0.24);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.025);
  padding: 1rem;
  color: var(--tv-muted);
}

.policy-document-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: flex-end;
}


.stat-pill.policy.legal-icon-only {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.stat-pill.policy.legal-icon-only i {
  margin: 0 !important;
  font-size: 0.92rem !important;
}

.stat-pill.policy.legal-icon-only .policy-badge-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.policy-document-actions {
  justify-content: flex-end !important;
}


.create-workspace-panel {
  width: min(560px, calc(100vw - 2rem)) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 1.35rem !important;
  border: 1px solid rgba(216, 180, 254, 0.22) !important;
  background:
    linear-gradient(180deg, rgba(18, 15, 28, 0.98), rgba(11, 10, 18, 0.99)) !important;
  box-shadow:
    0 28px 90px rgba(0, 0, 0, 0.50),
    0 0 0 1px rgba(139, 92, 246, 0.08) !important;
}

.create-workspace-head {
  margin: 0 !important;
  padding: 1.15rem 1.25rem !important;
  border-bottom: 1px solid rgba(216, 180, 254, 0.16) !important;
  background:
    linear-gradient(180deg, rgba(16, 13, 25, 0.99), rgba(16, 13, 25, 0.965)) !important;
}

.create-workspace-head .modal-title-lite {
  line-height: 1.16 !important;
  margin-top: 0.16rem !important;
}

.create-workspace-head .text-secondary {
  max-width: 44rem !important;
  line-height: 1.5 !important;
}

.create-workspace-body {
  padding: 1.25rem !important;
}

.create-workspace-body .field-label {
  display: block !important;
  margin-bottom: 0.45rem !important;
  color: rgba(248, 246, 255, 0.88) !important;
  font-weight: 680 !important;
  letter-spacing: 0.01em !important;
}

.create-workspace-body .form-text {
  margin: 0.65rem 0 0 !important;
  color: var(--tv-muted) !important;
  line-height: 1.45 !important;
}

.create-workspace-actions {
  margin-top: 1.15rem !important;
}

@media (max-width: 560px) {
  .create-workspace-panel {
    width: calc(100vw - 1.3rem) !important;
    border-radius: 1.1rem !important;
  }

  .create-workspace-head,
  .create-workspace-body {
    padding: 1rem !important;
  }
}


/* Image attachments may be portrait, landscape, square, meme poster, or tiny UI captures.
   The preview should contain the full image without cropping and remain usable on mobile. */
.lightbox-panel,
.material-preview-panel,
.attachment-preview-panel {
  width: min(1120px, calc(100vw - 2rem)) !important;
  max-width: min(1120px, calc(100vw - 2rem)) !important;
  max-height: min(88dvh, 980px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.lightbox-body,
.material-preview-panel .lightbox-body,
.attachment-preview-body,
.image-attachment-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
  padding: clamp(0.65rem, 2vw, 1rem) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(168, 85, 247, 0.08), transparent 45%),
    rgba(0, 0, 0, 0.22) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(216, 180, 254, 0.14) !important;
}

.lightbox-body img,
.material-preview-panel .lightbox-body img,
.attachment-preview-body img,
.image-attachment-body img,
.modal-panel img[data-attachment-preview],
.modal-panel img.attachment-image,
.modal-panel img.material-preview-image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: min(100%, 1040px) !important;
  max-height: min(72dvh, 820px) !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 10px !important;
  box-shadow:
    0 18px 60px rgba(0, 0, 0, 0.36),
    0 0 0 1px rgba(255, 255, 255, 0.04) !important;
  background: rgba(0, 0, 0, 0.18) !important;
}

/* Avoid oversized footer controls eating image height. */
.lightbox-panel .modal-footer-actions,
.material-preview-panel .modal-footer-actions,
.attachment-preview-panel .modal-footer-actions {
  flex: 0 0 auto !important;
  padding-top: 0.7rem !important;
}

/* Very wide images should use the available width; very tall images should fit height.
   The browser keeps aspect ratio because width/height remain auto with max bounds. */
@media (min-width: 900px) {
  .lightbox-body,
  .material-preview-panel .lightbox-body,
  .attachment-preview-body,
  .image-attachment-body {
    min-height: min(48dvh, 520px) !important;
  }
}

@media (max-width: 720px) {
  .lightbox-panel,
  .material-preview-panel,
  .attachment-preview-panel {
    width: calc(100vw - 1.3rem) !important;
    max-width: calc(100vw - 1.3rem) !important;
    max-height: calc(100dvh - 1.3rem) !important;
    border-radius: 1.1rem !important;
  }

  .lightbox-body,
  .material-preview-panel .lightbox-body,
  .attachment-preview-body,
  .image-attachment-body {
    padding: 0.5rem !important;
    min-height: 0 !important;
  }

  .lightbox-body img,
  .material-preview-panel .lightbox-body img,
  .attachment-preview-body img,
  .image-attachment-body img,
  .modal-panel img[data-attachment-preview],
  .modal-panel img.attachment-image,
  .modal-panel img.material-preview-image {
    max-width: 100% !important;
    max-height: calc(100dvh - 12rem) !important;
    border-radius: 8px !important;
  }
}

/* Tiny screenshots should not be aggressively upscaled unless the browser/user zooms. */
@media (min-width: 721px) {
  .lightbox-body img[src$=".png"],
  .material-preview-panel .lightbox-body img[src$=".png"] {
    image-rendering: auto !important;
  }
}


.lineage-scope-divider {
  display: grid;
  grid-template-columns: minmax(1.5rem, 1fr) auto minmax(1.5rem, 1fr);
  align-items: center;
  gap: 0.75rem;
  margin: 0.9rem 0;
  color: rgba(216, 180, 254, 0.86);
}

.lineage-scope-line {
  height: 1px;
  min-width: 1rem;
  background:
    linear-gradient(90deg, transparent, rgba(216, 180, 254, 0.42), transparent);
}

.lineage-scope-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  max-width: min(100%, 34rem);
  padding: 0.42rem 0.72rem;
  border: 1px solid rgba(216, 180, 254, 0.28);
  border-radius: 999px;
  background:
    radial-gradient(circle at 30% 0%, rgba(168, 85, 247, 0.18), transparent 60%),
    rgba(25, 20, 36, 0.84);
  box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.06), 0 10px 30px rgba(0, 0, 0, 0.22);
  white-space: nowrap;
}

.lineage-scope-label strong {
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(245, 232, 255, 0.95);
}

.lineage-scope-label small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--tv-muted);
}

.lineage-terminal.open {
  border-color: rgba(250, 204, 21, 0.36) !important;
  background: rgba(113, 63, 18, 0.12) !important;
  color: rgba(253, 230, 138, 0.98) !important;
}

@media (max-width: 720px) {
  .lineage-scope-divider {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .lineage-scope-line {
    display: none;
  }

  .lineage-scope-label {
    justify-content: center;
    width: 100%;
    border-radius: 1rem;
    white-space: normal;
  }

  .lineage-scope-label small {
    overflow-wrap: anywhere;
  }
}


.audit-lineage-btn {
  margin-left: 0.35rem;
}

.audit-lineage-btn.open {
  color: rgba(253, 230, 138, 0.98) !important;
  border-color: rgba(250, 204, 21, 0.34) !important;
  background: rgba(113, 63, 18, 0.12) !important;
}

.audit-lineage-btn.open:hover,
.audit-lineage-btn.open:focus-visible {
  box-shadow: 0 0 0 3px rgba(250, 204, 21, 0.10) !important;
}


.display-options-action {
  position: relative !important;
}

.display-options-action.active {
  color: rgba(216, 180, 254, 0.98) !important;
  border-color: rgba(168, 85, 247, 0.36) !important;
  background: rgba(88, 28, 135, 0.16) !important;
}

.display-options-action small {
  position: absolute;
  right: -0.2rem;
  top: -0.2rem;
  min-width: 1rem;
  height: 1rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(168, 85, 247, 0.92);
  color: white;
  font-size: 0.58rem;
  line-height: 1;
  border: 1px solid rgba(255,255,255,0.24);
}

.display-options-panel {
  width: min(880px, calc(100vw - 2rem)) !important;
  max-width: min(880px, calc(100vw - 2rem)) !important;
  max-height: min(92dvh, 920px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 1.35rem !important;
  border: 1px solid rgba(216, 180, 254, 0.22) !important;
  background:
    linear-gradient(180deg, rgba(18, 15, 28, 0.98), rgba(11, 10, 18, 0.99)) !important;
}

.display-options-head {
  margin: 0 !important;
  padding: 1.05rem 1.2rem !important;
  border-bottom: 1px solid rgba(216, 180, 254, 0.16) !important;
  background: linear-gradient(180deg, rgba(16, 13, 25, 0.99), rgba(16, 13, 25, 0.965)) !important;
  flex: 0 0 auto !important;
}

.display-options-body {
  display: grid;
  gap: 0.65rem;
  padding: 0.95rem 1.2rem 1.15rem !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  min-height: 0 !important;
  scrollbar-gutter: stable both-edges;
}

.display-option-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.78rem 0.85rem;
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 0.95rem;
  background: rgba(255,255,255,0.025);
}

.display-option-row strong {
  display: block;
  font-size: 0.92rem;
  color: rgba(248, 246, 255, 0.94);
}

.display-option-row small {
  display: block;
  margin-top: 0.18rem;
  color: var(--tv-muted);
  line-height: 1.35;
}

.display-option-row input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  accent-color: rgb(168, 85, 247);
  flex: 0 0 auto;
}

.display-options-section-label {
  margin: 0.2rem 0 -0.25rem;
  color: rgba(216, 180, 254, 0.78);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

@media (max-width: 560px) {
  .display-options-panel {
    width: calc(100vw - 1rem) !important;
    max-width: calc(100vw - 1rem) !important;
    max-height: min(94dvh, 860px) !important;
    border-radius: 1.05rem !important;
  }

  .display-options-head {
    padding: 0.95rem 1rem !important;
  }

  .display-options-body {
    padding: 0.8rem 0.9rem 1rem !important;
    gap: 0.55rem;
  }

  .display-options-head .text-secondary {
    font-size: 0.92rem;
    line-height: 1.35;
  }
}


.display-filter-in-dialog {
  grid-template-columns: minmax(0, 1fr) !important;
}

.display-options-filter-card {
  display: grid;
  gap: 0.45rem;
  padding: 0.78rem 0.85rem;
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 0.95rem;
  background: rgba(255,255,255,0.025);
}

.display-options-filter-card .filter-select-wrap {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 0.7rem !important;
  margin: 0 !important;
}

.display-options-filter-card .filter-select-wrap select {
  width: 100% !important;
  min-width: 0 !important;
}

.display-options-filter-card > small {
  color: var(--tv-muted);
  line-height: 1.35;
}

@media (max-width: 720px) {
  .feed-toolbar.discovery .discovery-tools.display-filter-in-dialog {
    width: 100% !important;
  }
}


.policy-document-meta.compact {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.policy-document-meta.compact span {
  min-width: 0;
  padding: 0.72rem 0.78rem;
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.025);
  color: var(--tv-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.policy-document-meta.compact strong {
  display: block;
  margin-bottom: 0.18rem;
  color: rgba(216, 180, 254, 0.78);
  font-size: 0.68rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.policy-empty-note.compact {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  min-height: auto !important;
  padding: 1rem !important;
  border-radius: 1rem !important;
}

.policy-empty-note.compact > i {
  flex: 0 0 auto;
  color: rgba(216, 180, 254, 0.86);
  font-size: 1.05rem;
  margin-top: 0.08rem;
}

.policy-empty-note.compact strong {
  display: block;
  color: rgba(248, 246, 255, 0.94);
  margin-bottom: 0.25rem;
}

.policy-empty-note.compact p {
  margin: 0;
  color: var(--tv-muted);
  line-height: 1.45;
}

.empty-policy-document-panel {
  max-height: min(62dvh, 560px) !important;
}

@media (max-width: 720px) {
  .policy-document-meta.compact {
    grid-template-columns: 1fr;
  }

  .empty-policy-document-panel {
    max-height: calc(100dvh - 1.3rem) !important;
  }
}


.tree-toolbar-tools {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 0.55rem !important;
}

.tree-all-toggle {
  width: 2.25rem !important;
  min-width: 2.25rem !important;
  height: 2.25rem !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
}

.tree-all-toggle i {
  margin: 0 !important;
  font-size: 0.82rem !important;
}

@media (max-width: 720px) {
  .tree-toolbar-tools {
    grid-template-columns: auto minmax(0, 1fr) !important;
    width: 100% !important;
  }

  .tree-all-toggle {
    width: 2.1rem !important;
    min-width: 2.1rem !important;
    height: 2.1rem !important;
  }
}


.workspace-source-strip:empty {
  display: none !important;
}


.edit-node-panel,
.add-artifact-panel {
  width: min(980px, calc(100vw - 2rem)) !important;
  max-height: min(90dvh, 960px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 1.35rem !important;
  border: 1px solid rgba(216, 180, 254, 0.22) !important;
  background: linear-gradient(180deg, rgba(18, 15, 28, 0.98), rgba(11, 10, 18, 0.99)) !important;
  display: flex !important;
  flex-direction: column !important;
}

.edit-node-head,
.add-artifact-head {
  margin: 0 !important;
  padding: 1.05rem 1.2rem !important;
  border-bottom: 1px solid rgba(216, 180, 254, 0.16) !important;
  background: linear-gradient(180deg, rgba(16, 13, 25, 0.99), rgba(16, 13, 25, 0.965)) !important;
  flex: 0 0 auto !important;
}

.edit-node-body,
.add-artifact-body {
  padding: 1rem 1.2rem 1.2rem !important;
  overflow: auto !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
}

.edit-node-body .field-label,
.add-artifact-body .field-label {
  display: block !important;
  color: rgba(248, 246, 255, 0.88) !important;
  font-weight: 680 !important;
  margin-bottom: 0.45rem !important;
}

.add-artifact-grid {
  display: grid;
  grid-template-columns: minmax(9rem, 0.9fr) minmax(14rem, 1.6fr) minmax(12rem, 1.2fr);
  gap: 0.75rem;
  margin-bottom: 0.9rem;
}

.edit-node-textarea,
.add-artifact-textarea {
  min-height: min(52dvh, 560px) !important;
  width: 100% !important;
  resize: vertical !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: 0.86rem !important;
  line-height: 1.55 !important;
  background: rgba(8, 7, 12, 0.70) !important;
  color: rgba(248, 246, 255, 0.94) !important;
  border: 1px solid rgba(216, 180, 254, 0.22) !important;
  border-radius: 0.9rem !important;
  padding: 0.85rem !important;
}

.edit-node-actions,
.add-artifact-actions {
  margin-top: 0.9rem !important;
}


@media (max-width: 760px) {
  .edit-node-panel,
  .add-artifact-panel {
    width: calc(100vw - 1.3rem) !important;
    max-height: calc(100dvh - 1.3rem) !important;
    border-radius: 1.1rem !important;
  }

  .add-artifact-grid {
    grid-template-columns: 1fr;
  }

  .edit-node-head,
  .add-artifact-head,
  .edit-node-body,
  .add-artifact-body {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .edit-node-textarea,
  .add-artifact-textarea {
    min-height: 48dvh !important;
  }
}



.markdown-studio-panel {
  width: min(1120px, calc(100vw - 1.6rem)) !important;
  max-height: min(92dvh, 980px) !important;
}

.markdown-studio-panel .modal-title-lite i {
  margin-right: 0.55rem;
  color: rgba(216, 180, 254, 0.92);
}

.add-relation-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.85rem;
  align-items: flex-start;
  padding: 0.82rem 0.9rem;
  border: 1px solid rgba(216, 180, 254, 0.16);
  border-radius: 1rem;
  background:
    radial-gradient(circle at 0% 0%, rgba(168, 85, 247, 0.14), transparent 45%),
    rgba(255, 255, 255, 0.025);
  margin-bottom: 0.9rem;
}

.add-relation-card.continue {
  border-color: rgba(216, 180, 254, 0.24);
}

.add-relation-card.reference {
  border-color: rgba(96, 165, 250, 0.22);
}

.add-relation-card.local-edit {
  border-color: rgba(16, 185, 129, 0.22);
}

.add-relation-icon {
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  color: rgba(248, 246, 255, 0.92);
  background: rgba(168, 85, 247, 0.18);
  border: 1px solid rgba(216, 180, 254, 0.20);
}

.add-relation-card.local-edit .add-relation-icon {
  background: rgba(6, 78, 59, 0.18);
  border-color: rgba(16, 185, 129, 0.24);
  color: rgba(110, 231, 183, 0.96);
}

.add-relation-card strong {
  display: block;
  color: rgba(248, 246, 255, 0.95);
  margin-bottom: 0.15rem;
}

.add-relation-card p {
  margin: 0;
  color: var(--tv-muted);
  line-height: 1.4;
}

.add-relation-card small {
  display: block;
  margin-top: 0.35rem;
  color: rgba(216, 180, 254, 0.78);
  overflow-wrap: anywhere;
}

.markdown-studio {
  display: grid;
  gap: 0.55rem;
}

.markdown-studio-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.markdown-studio-toolbar {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.markdown-tool {
  width: 2rem !important;
  min-width: 2rem !important;
  height: 2rem !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
}

.markdown-tool i {
  margin: 0 !important;
  font-size: 0.78rem !important;
}

.markdown-studio-surface {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
  min-height: min(54dvh, 620px);
  border: 1px solid rgba(216, 180, 254, 0.16);
  border-radius: 1rem;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.18);
}

.markdown-editor-pane,
.markdown-preview-pane {
  min-width: 0;
  min-height: 0;
}

.markdown-studio-textarea {
  min-height: min(54dvh, 620px) !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  resize: none !important;
  background: rgba(8, 7, 12, 0.76) !important;
}

.markdown-preview-pane {
  border-left: 1px solid rgba(216, 180, 254, 0.14);
  background:
    radial-gradient(circle at 80% 0%, rgba(168, 85, 247, 0.09), transparent 42%),
    rgba(16, 13, 25, 0.74);
  overflow: auto;
}

.markdown-preview-title {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.72rem 0.85rem;
  color: rgba(216, 180, 254, 0.84);
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  background: rgba(16, 13, 25, 0.94);
  border-bottom: 1px solid rgba(216, 180, 254, 0.12);
}

.markdown-preview-rendered {
  padding: 0.9rem 1rem 1.2rem;
  color: rgba(248, 246, 255, 0.88);
  line-height: 1.55;
}

.markdown-preview-rendered h1,
.markdown-preview-rendered h2,
.markdown-preview-rendered h3,
.markdown-preview-rendered h4,
.markdown-preview-rendered h5,
.markdown-preview-rendered h6 {
  color: rgba(248, 246, 255, 0.96);
  font-weight: 720;
  line-height: 1.16;
  margin: 0.9rem 0 0.45rem;
}

.markdown-preview-rendered h1 { font-size: 1.45rem; }
.markdown-preview-rendered h2 { font-size: 1.16rem; }
.markdown-preview-rendered h3 { font-size: 1rem; }
.markdown-preview-rendered p { margin: 0.35rem 0; }
.markdown-preview-rendered ul { margin: 0.35rem 0 0.55rem 1.2rem; padding: 0; }
.markdown-preview-rendered li { margin: 0.18rem 0; }
.markdown-preview-rendered code {
  color: rgba(253, 224, 71, 0.92);
  background: rgba(0, 0, 0, 0.28);
  border-radius: 0.35rem;
  padding: 0.08rem 0.28rem;
}
.markdown-preview-rendered pre {
  white-space: pre-wrap;
  padding: 0.75rem;
  border-radius: 0.7rem;
  background: rgba(0, 0, 0, 0.32);
  border: 1px solid rgba(216, 180, 254, 0.12);
  overflow: auto;
}
.markdown-preview-rendered blockquote {
  margin: 0.55rem 0;
  padding: 0.35rem 0.75rem;
  border-left: 3px solid rgba(216, 180, 254, 0.45);
  color: var(--tv-muted);
}
.markdown-preview-rendered a {
  color: rgba(244, 114, 182, 0.95);
  text-decoration: none;
}
.markdown-preview-rendered hr {
  border: 0;
  border-top: 1px solid rgba(216, 180, 254, 0.14);
  margin: 0.8rem 0;
}

.add-artifact-hint {
  margin-top: 0.55rem !important;
}

@media (max-width: 860px) {
  .markdown-studio-panel {
    width: calc(100vw - 1rem) !important;
    max-height: calc(100dvh - 1rem) !important;
  }

  .markdown-studio-surface {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .markdown-studio-textarea {
    min-height: 42dvh !important;
  }

  .markdown-preview-pane {
    border-left: 0;
    border-top: 1px solid rgba(216, 180, 254, 0.14);
    max-height: 34dvh;
  }

  .add-artifact-grid {
    grid-template-columns: 1fr !important;
  }

  .markdown-studio-toolbar {
    width: 100%;
  }
}


.markdown-studio-panel {
  max-height: min(86dvh, 900px) !important;
}

.add-artifact-body,
.edit-node-body {
  padding-top: 0.85rem !important;
}

.add-relation-card {
  padding: 0.68rem 0.78rem !important;
  margin-bottom: 0.72rem !important;
}

.add-relation-icon {
  width: 1.85rem !important;
  height: 1.85rem !important;
}

.add-artifact-grid {
  gap: 0.55rem !important;
  margin-bottom: 0.68rem !important;
}

.markdown-studio-topline {
  margin-bottom: 0.35rem !important;
}

.markdown-studio-controls {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.markdown-editor-mode-toggle {
  display: inline-flex;
  gap: 0.25rem;
  padding: 0.18rem;
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.025);
}

.markdown-editor-mode-toggle .tv-btn {
  min-height: 1.8rem !important;
  height: 1.8rem !important;
  padding: 0 0.65rem !important;
  font-size: 0.74rem !important;
}

.markdown-editor-mode-toggle .tv-btn i {
  font-size: 0.72rem !important;
}

.markdown-studio-surface {
  min-height: min(40dvh, 470px) !important;
}

.markdown-studio-surface.raw-only {
  grid-template-columns: 1fr !important;
}

.markdown-studio-textarea {
  min-height: min(40dvh, 470px) !important;
}

.markdown-studio.raw-mode .markdown-studio-textarea {
  min-height: min(44dvh, 520px) !important;
}

.markdown-preview-rendered {
  padding: 0.72rem 0.85rem 0.95rem !important;
}

.markdown-preview-title {
  padding: 0.58rem 0.72rem !important;
}

.add-artifact-hint {
  margin-top: 0.38rem !important;
}

.add-artifact-actions,
.edit-node-actions {
  margin-top: 0.65rem !important;
}

@media (max-width: 860px) {
  .markdown-studio-panel {
    width: calc(100vw - 0.75rem) !important;
    max-height: calc(100dvh - 0.75rem) !important;
  }

  .markdown-studio-controls {
    width: 100%;
    justify-content: space-between;
  }

  .markdown-editor-mode-toggle {
    flex: 1 1 auto;
  }

  .markdown-editor-mode-toggle .tv-btn {
    flex: 1 1 0;
    justify-content: center;
  }

  .markdown-studio-surface {
    min-height: 0 !important;
  }

  .markdown-studio-textarea {
    min-height: 32dvh !important;
  }

  .markdown-studio.raw-mode .markdown-studio-textarea {
    min-height: 48dvh !important;
  }

  .markdown-preview-pane {
    max-height: 28dvh !important;
  }
}

@media (max-height: 760px) and (min-width: 861px) {
  .markdown-studio-surface {
    min-height: 34dvh !important;
  }

  .markdown-studio-textarea {
    min-height: 34dvh !important;
  }

  .markdown-studio.raw-mode .markdown-studio-textarea {
    min-height: 38dvh !important;
  }
}


.markdown-studio.rich-mode .markdown-studio-surface {
  grid-template-columns: 1fr !important;
}

.markdown-rich-pane {
  min-width: 0;
  min-height: 0;
  background:
    radial-gradient(circle at 90% 0%, rgba(168, 85, 247, 0.10), transparent 42%),
    rgba(16, 13, 25, 0.74);
}

.markdown-rich-title {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.58rem 0.72rem;
  color: rgba(216, 180, 254, 0.84);
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  background: rgba(16, 13, 25, 0.94);
  border-bottom: 1px solid rgba(216, 180, 254, 0.12);
}

.markdown-rich-editor {
  min-height: min(38dvh, 440px);
  padding: 0.9rem 1rem 1.2rem;
  color: rgba(248, 246, 255, 0.90);
  line-height: 1.55;
  outline: none;
  overflow: auto;
}

.markdown-rich-editor:focus {
  box-shadow: inset 0 0 0 2px rgba(168, 85, 247, 0.22);
}

.markdown-rich-editor h1,
.markdown-rich-editor h2,
.markdown-rich-editor h3,
.markdown-rich-editor h4,
.markdown-rich-editor h5,
.markdown-rich-editor h6 {
  color: rgba(248, 246, 255, 0.96);
  font-weight: 720;
  line-height: 1.16;
  margin: 0.9rem 0 0.45rem;
}

.markdown-rich-editor h1 { font-size: 1.45rem; }
.markdown-rich-editor h2 { font-size: 1.16rem; }
.markdown-rich-editor h3 { font-size: 1rem; }
.markdown-rich-editor p { margin: 0.35rem 0; }
.markdown-rich-editor ul,
.markdown-rich-editor ol { margin: 0.35rem 0 0.55rem 1.2rem; padding: 0; }
.markdown-rich-editor li { margin: 0.18rem 0; }
.markdown-rich-editor code {
  color: rgba(253, 224, 71, 0.92);
  background: rgba(0, 0, 0, 0.28);
  border-radius: 0.35rem;
  padding: 0.08rem 0.28rem;
}
.markdown-rich-editor pre {
  white-space: pre-wrap;
  padding: 0.75rem;
  border-radius: 0.7rem;
  background: rgba(0, 0, 0, 0.32);
  border: 1px solid rgba(216, 180, 254, 0.12);
  overflow: auto;
}
.markdown-rich-editor blockquote {
  margin: 0.55rem 0;
  padding: 0.35rem 0.75rem;
  border-left: 3px solid rgba(216, 180, 254, 0.45);
  color: var(--tv-muted);
}
.markdown-rich-editor a {
  color: rgba(244, 114, 182, 0.95);
  text-decoration: none;
}
.markdown-rich-editor hr {
  border: 0;
  border-top: 1px solid rgba(216, 180, 254, 0.14);
  margin: 0.8rem 0;
}

.markdown-editor-mode-toggle .tv-btn[data-mode="rich"] i {
  color: rgba(216, 180, 254, 0.96);
}

@media (max-width: 860px) {
  .markdown-rich-editor {
    min-height: 40dvh;
  }
}

@media (max-height: 760px) and (min-width: 861px) {
  .markdown-rich-editor {
    min-height: 34dvh;
  }
}


.markdown-studio-panel {
  max-height: min(84dvh, 860px) !important;
}

.markdown-studio-panel .add-artifact-body,
.markdown-studio-panel .edit-node-body {
  overflow: auto !important;
  min-height: 0 !important;
}

.markdown-studio {
  min-height: 0 !important;
}

.markdown-studio-surface,
.markdown-studio-surface.rich-only,
.markdown-studio-surface.raw-only {
  height: clamp(300px, 38dvh, 430px) !important;
  min-height: 0 !important;
  max-height: clamp(300px, 38dvh, 430px) !important;
  overflow: hidden !important;
}

.markdown-rich-pane,
.markdown-editor-pane {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}

.markdown-rich-editor {
  min-height: 0 !important;
  height: calc(100% - 2.35rem) !important;
  max-height: none !important;
  overflow: auto !important;
}

.markdown-studio-textarea {
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  overflow: auto !important;
}

.markdown-studio.raw-mode .markdown-studio-textarea {
  min-height: 0 !important;
  height: 100% !important;
}

.markdown-tool {
  user-select: none !important;
}

.markdown-rich-editor h1,
.markdown-rich-editor h2 {
  outline: 1px solid transparent;
}

@media (max-width: 860px) {
  .markdown-studio-panel {
    width: calc(100vw - 0.7rem) !important;
    max-height: calc(100dvh - 0.7rem) !important;
  }

  .markdown-studio-surface,
  .markdown-studio-surface.rich-only,
  .markdown-studio-surface.raw-only {
    height: clamp(280px, 46dvh, 520px) !important;
    max-height: clamp(280px, 46dvh, 520px) !important;
  }
}

@media (max-height: 760px) and (min-width: 861px) {
  .markdown-studio-surface,
  .markdown-studio-surface.rich-only,
  .markdown-studio-surface.raw-only {
    height: clamp(260px, 32dvh, 360px) !important;
    max-height: clamp(260px, 32dvh, 360px) !important;
  }
}


.markdown-studio-panel {
  height: min(86dvh, 860px) !important;
  max-height: min(86dvh, 860px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.markdown-studio-panel .add-artifact-head,
.markdown-studio-panel .edit-node-head {
  flex: 0 0 auto !important;
}

.markdown-studio-panel .add-artifact-body,
.markdown-studio-panel .edit-node-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.markdown-studio-panel .add-relation-card,
.markdown-studio-panel .add-artifact-grid,
.markdown-studio-panel .add-artifact-hint,
.markdown-studio-panel .modal-footer-actions {
  flex: 0 0 auto !important;
}

.markdown-studio-panel .markdown-studio {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.markdown-studio-panel .markdown-studio-topline {
  flex: 0 0 auto !important;
}

.markdown-studio-panel .markdown-studio-surface,
.markdown-studio-panel .markdown-studio-surface.rich-only,
.markdown-studio-panel .markdown-studio-surface.raw-only {
  flex: 1 1 auto !important;
  min-height: 220px !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
}

.markdown-studio-panel .markdown-rich-pane,
.markdown-studio-panel .markdown-editor-pane {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.markdown-studio-panel .markdown-rich-editor {
  height: calc(100% - 2.35rem) !important;
  min-height: 0 !important;
  overflow: auto !important;
}

.markdown-studio-panel .markdown-studio-textarea {
  height: 100% !important;
  min-height: 0 !important;
  overflow: auto !important;
}

.markdown-studio-panel .add-artifact-actions,
.markdown-studio-panel .edit-node-actions {
  padding-top: 0.55rem !important;
  margin-top: 0.55rem !important;
  border-top: 1px solid rgba(216, 180, 254, 0.10);
  background: linear-gradient(180deg, rgba(11, 10, 18, 0), rgba(11, 10, 18, 0.56));
}

@media (max-width: 860px) {
  .markdown-studio-panel {
    height: calc(100dvh - 0.7rem) !important;
    max-height: calc(100dvh - 0.7rem) !important;
  }

  .markdown-studio-panel .markdown-studio-surface,
  .markdown-studio-panel .markdown-studio-surface.rich-only,
  .markdown-studio-panel .markdown-studio-surface.raw-only {
    min-height: 200px !important;
  }
}

@media (max-height: 680px) {
  .markdown-studio-panel .add-relation-card {
    display: none !important;
  }

  .markdown-studio-panel .add-artifact-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .markdown-studio-panel .markdown-studio-surface,
  .markdown-studio-panel .markdown-studio-surface.rich-only,
  .markdown-studio-panel .markdown-studio-surface.raw-only {
    min-height: 180px !important;
  }
}

@media (max-width: 760px) and (max-height: 760px) {
  .markdown-studio-panel .add-artifact-grid {
    grid-template-columns: 1fr !important;
  }
}


.add-artifact-launcher {
  border-color: rgba(216, 180, 254, 0.22) !important;
  background: rgba(168, 85, 247, 0.08) !important;
}

.add-artifact-launcher i {
  color: rgba(216, 180, 254, 0.92) !important;
}


.artifact-wizard-panel {
  width: min(980px, calc(100vw - 1.2rem)) !important;
  max-height: min(90dvh, 920px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.artifact-wizard-head {
  flex: 0 0 auto !important;
}

.artifact-wizard-head .modal-title-lite i {
  margin-right: 0.55rem;
  color: rgba(216, 180, 254, 0.94);
}

.artifact-wizard-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 1rem 1.1rem 1.15rem;
}


.wizard-step {
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 1rem;
  padding: 0.8rem;
  background: rgba(255, 255, 255, 0.018);
  margin-bottom: 0.85rem;
}

.wizard-step-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
  margin-bottom: 0.75rem;
}

.wizard-step-head > span {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(168, 85, 247, 0.18);
  color: rgba(248, 246, 255, 0.92);
  border: 1px solid rgba(216, 180, 254, 0.20);
  font-weight: 800;
  font-size: 0.78rem;
}

.wizard-step-head strong {
  color: rgba(248, 246, 255, 0.94);
}

.wizard-step-head p {
  margin: 0.15rem 0 0;
  color: var(--tv-muted);
  line-height: 1.38;
}

.wizard-schema-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.6rem;
}

.wizard-schema-card {
  text-align: left;
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 0.9rem;
  padding: 0.72rem;
  background: rgba(255,255,255,0.026);
  color: rgba(248, 246, 255, 0.88);
  min-height: 9.2rem;
  cursor: pointer;
}

.wizard-schema-card:hover,
.wizard-schema-card.selected {
  border-color: rgba(216, 180, 254, 0.48);
  background: rgba(168, 85, 247, 0.13);
  box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.08);
}

.wizard-schema-card i {
  color: rgba(216, 180, 254, 0.92);
  margin-bottom: 0.45rem;
}

.wizard-schema-card strong,
.wizard-schema-card small {
  display: block;
}

.wizard-schema-card small {
  color: rgba(216, 180, 254, 0.75);
  margin-top: 0.12rem;
}

.wizard-schema-card p {
  margin: 0.45rem 0 0;
  color: var(--tv-muted);
  font-size: 0.86rem;
  line-height: 1.34;
}

.wizard-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.65rem;
}

.wizard-body-field {
  grid-column: 1 / -1;
}

.wizard-body-textarea {
  min-height: 7.5rem !important;
  resize: vertical !important;
}

.artifact-wizard-actions {
  position: sticky;
  bottom: 0;
  padding-top: 0.65rem;
  background: linear-gradient(180deg, rgba(11,10,18,0), rgba(11,10,18,0.90) 28%);
}

.parent-picker-active .post-action:not(.select-parent-action) {
  display: none !important;
}

.parent-picker-banner {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: center;
  border: 1px solid rgba(216, 180, 254, 0.22);
  border-radius: 1rem;
  background: rgba(168, 85, 247, 0.10);
  padding: 0.75rem 0.85rem;
  margin: 0.65rem 0.9rem;
}

.parent-picker-banner strong {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: rgba(248, 246, 255, 0.95);
}

.parent-picker-banner p {
  margin: 0.16rem 0 0;
  color: var(--tv-muted);
}

.select-parent-action {
  color: rgba(110, 231, 183, 0.98) !important;
  border-color: rgba(16, 185, 129, 0.36) !important;
  background: rgba(6, 78, 59, 0.14) !important;
}

@media (max-width: 760px) {
  .artifact-wizard-panel {
    width: calc(100vw - 0.7rem) !important;
    max-height: calc(100dvh - 0.7rem) !important;
  }

  .wizard-fields {
    grid-template-columns: 1fr;
  }

  .parent-picker-banner {
    flex-direction: column;
    align-items: stretch;
  }
}


.artifact-wizard-panel.paged {
  width: min(960px, calc(100vw - 1.35rem)) !important;
  height: min(86dvh, 820px) !important;
  max-height: min(86dvh, 820px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.artifact-wizard-body.paged {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  padding: 0.9rem 1rem 0.8rem !important;
}

.artifact-wizard-actions.paged {
  flex: 0 0 auto !important;
  padding: 0.75rem 1rem !important;
  margin: 0 !important;
  border-top: 1px solid rgba(216, 180, 254, 0.12);
  background:
    linear-gradient(180deg, rgba(11, 10, 18, 0.30), rgba(11, 10, 18, 0.82)),
    rgba(11, 10, 18, 0.72);
}

.artifact-wizard-progress {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 0.72rem;
}

.artifact-wizard-progress span {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  padding: 0.28rem 0.58rem;
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 999px;
  color: var(--tv-muted);
  background: rgba(255, 255, 255, 0.025);
  font-size: 0.76rem;
}

.artifact-wizard-progress span b {
  width: 1.15rem;
  height: 1.15rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(168, 85, 247, 0.22);
  color: rgba(248, 246, 255, 0.92);
  font-size: 0.70rem;
}

.artifact-wizard-progress span.active {
  color: rgba(248, 246, 255, 0.94);
  border-color: rgba(216, 180, 254, 0.32);
  background: rgba(168, 85, 247, 0.12);
}

.artifact-wizard-progress span.done {
  color: rgba(196, 181, 253, 0.90);
}

.wizard-step-page {
  margin: 0 !important;
}

.wizard-step-page .wizard-step-head {
  margin-bottom: 0.66rem !important;
}

.wizard-schema-grid.paged {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.62rem;
}

.wizard-schema-grid.paged .wizard-schema-card {
  min-height: 8.2rem !important;
  padding: 0.72rem !important;
}

.wizard-schema-grid.paged .wizard-schema-card p {
  font-size: 0.82rem !important;
  line-height: 1.32 !important;
}

.wizard-selected-type-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.72rem 0.82rem;
  border: 1px solid rgba(216, 180, 254, 0.16);
  border-radius: 1rem;
  background: rgba(168, 85, 247, 0.07);
  margin-bottom: 0.75rem;
}

.wizard-selected-type-strip > i {
  width: 2rem;
  height: 2rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: rgba(216, 180, 254, 0.96);
  background: rgba(168, 85, 247, 0.16);
  border: 1px solid rgba(216, 180, 254, 0.20);
}

.wizard-selected-type-strip strong {
  display: block;
  color: rgba(248, 246, 255, 0.96);
}

.wizard-selected-type-strip span {
  display: block;
  color: var(--tv-muted);
  font-size: 0.80rem;
  overflow-wrap: anywhere;
}

.wizard-fields.paged {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.72rem;
}

.wizard-fields.paged .wizard-body-field {
  grid-column: 1 / -1;
}

.wizard-body-textarea.paged {
  min-height: 12rem !important;
  max-height: 28dvh !important;
  resize: vertical !important;
}

@media (max-width: 900px) {
  .wizard-schema-grid.paged {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .artifact-wizard-panel.paged {
    width: calc(100vw - 0.65rem) !important;
    height: calc(100dvh - 0.65rem) !important;
    max-height: calc(100dvh - 0.65rem) !important;
    border-radius: 1rem !important;
  }

  .artifact-wizard-body.paged {
    padding: 0.75rem 0.72rem 0.62rem !important;
  }

  .artifact-wizard-actions.paged {
    padding: 0.62rem 0.72rem !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .artifact-wizard-actions.paged .tv-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .artifact-wizard-progress {
    gap: 0.32rem;
  }

  .artifact-wizard-progress span {
    flex: 1 1 0;
    justify-content: center;
    padding: 0.24rem 0.38rem;
  }

  .wizard-schema-grid.paged {
    grid-template-columns: 1fr;
    gap: 0.52rem;
  }

  .wizard-schema-grid.paged .wizard-schema-card {
    min-height: 0 !important;
    padding: 0.68rem !important;
  }

  .wizard-selected-type-strip {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .wizard-selected-type-strip .tv-btn {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: center;
  }

  .wizard-fields.paged {
    grid-template-columns: 1fr;
  }

  .wizard-body-textarea.paged {
    min-height: 11rem !important;
    max-height: 32dvh !important;
  }
}

@media (max-height: 680px) {
  .wizard-schema-grid.paged .wizard-schema-card p {
    display: none !important;
  }

  .wizard-body-textarea.paged {
    min-height: 8rem !important;
    max-height: 24dvh !important;
  }
}


.source-modal .add-artifact-launcher,
.add-source-modal .add-artifact-launcher,
.modal-panel .add-artifact-launcher {
  min-height: 2.55rem !important;
  height: 2.55rem !important;
  padding: 0 0.85rem !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.48rem !important;
  font-size: 0.86rem !important;
  line-height: 1 !important;
  max-width: 13rem !important;
  white-space: nowrap !important;
}

.source-modal .add-artifact-launcher i,
.add-source-modal .add-artifact-launcher i,
.modal-panel .add-artifact-launcher i {
  font-size: 0.88rem !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

@media (max-width: 640px) {
  .source-modal .add-artifact-launcher,
  .add-source-modal .add-artifact-launcher,
  .modal-panel .add-artifact-launcher {
    min-height: 2.35rem !important;
    height: 2.35rem !important;
    padding: 0 0.68rem !important;
    max-width: 10.5rem !important;
    font-size: 0.78rem !important;
  }
}


.add-choice-card.tiinex-artifact-choice {
  border-color: rgba(216, 180, 254, 0.38) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(168, 85, 247, 0.18), transparent 42%),
    rgba(168, 85, 247, 0.06) !important;
}

.add-choice-card.tiinex-artifact-choice .add-choice-icon {
  background: rgba(168, 85, 247, 0.25) !important;
  color: rgba(248, 246, 255, 0.94) !important;
}

.add-choice-card.tiinex-artifact-choice strong {
  color: rgba(248, 246, 255, 0.96) !important;
}


.schema-aware-fields {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

.schema-aware-form-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
  padding: 0.78rem;
  border: 1px solid rgba(216, 180, 254, 0.13);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.02);
}

.schema-aware-field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
}

.schema-aware-field span {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
}

.schema-aware-field .wizard-required {
  padding: 0.12rem 0.38rem;
  border-radius: 999px;
  border: 1px solid rgba(216, 180, 254, 0.20);
  color: rgba(216, 180, 254, 0.86);
  background: rgba(168, 85, 247, 0.10);
  font-size: 0.66rem;
  font-weight: 760;
  text-transform: lowercase;
}

.schema-aware-textarea {
  min-height: 6.6rem !important;
  max-height: 14rem !important;
  resize: vertical !important;
}

.schema-aware-textarea.list-field {
  min-height: 5.2rem !important;
}

.schema-aware-field small {
  color: var(--tv-muted);
  font-size: 0.74rem;
}

@media (max-width: 740px) {
  .schema-aware-fields {
    grid-template-columns: 1fr !important;
  }

  .schema-aware-form-grid {
    grid-template-columns: 1fr;
    padding: 0.62rem;
    gap: 0.58rem;
  }

  .schema-aware-textarea {
    min-height: 5.4rem !important;
    max-height: 11rem !important;
  }
}

@media (max-height: 680px) and (min-width: 741px) {
  .schema-aware-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .schema-aware-textarea {
    min-height: 4.8rem !important;
    max-height: 8rem !important;
  }
}


.evidence-fields {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

.evidence-claim-field,
.evidence-collector {
  grid-column: 1 / -1;
}

.evidence-claim-textarea {
  min-height: 5.5rem !important;
  max-height: 12rem !important;
}

.evidence-collector {
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 1rem;
  padding: 0.78rem;
  background:
    radial-gradient(circle at 100% 0%, rgba(168, 85, 247, 0.09), transparent 45%),
    rgba(255, 255, 255, 0.02);
}

.evidence-collector-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.7rem;
}

.evidence-collector-head strong {
  color: rgba(248, 246, 255, 0.96);
}

.evidence-collector-head p {
  margin: 0.12rem 0 0;
  color: var(--tv-muted);
  line-height: 1.35;
}

.evidence-collector-actions {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.evidence-empty-drop {
  display: grid;
  place-items: center;
  gap: 0.28rem;
  padding: 1rem;
  border: 1px dashed rgba(216, 180, 254, 0.18);
  border-radius: 0.85rem;
  color: var(--tv-muted);
  text-align: center;
}

.evidence-empty-drop i {
  color: rgba(216, 180, 254, 0.82);
  font-size: 1.35rem;
}

.evidence-attachment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.evidence-attachment-card {
  min-width: 0;
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 0.9rem;
  padding: 0.68rem;
  background: rgba(11, 10, 18, 0.36);
}

.evidence-attachment-top {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.55rem;
}

.evidence-attachment-icon {
  width: 2rem;
  height: 2rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(168, 85, 247, 0.14);
  color: rgba(216, 180, 254, 0.94);
  border: 1px solid rgba(216, 180, 254, 0.16);
}

.evidence-attachment-top strong,
.evidence-attachment-top small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.evidence-attachment-top small {
  color: var(--tv-muted);
  font-size: 0.74rem;
}

.evidence-attachment-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}

.evidence-attachment-fields .evidence-wide {
  grid-column: 1 / -1;
}

.evidence-mini-textarea {
  min-height: 4rem !important;
  max-height: 8rem !important;
  resize: vertical !important;
}

.visually-hidden.evidence-file-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 760px) {
  .evidence-fields {
    grid-template-columns: 1fr !important;
  }

  .evidence-collector-head {
    display: grid;
  }

  .evidence-collector-actions {
    justify-content: stretch;
  }

  .evidence-collector-actions .tv-btn {
    flex: 1 1 0;
    justify-content: center;
    min-height: 2.35rem;
  }

  .evidence-attachment-grid {
    grid-template-columns: 1fr;
  }

  .evidence-attachment-fields {
    grid-template-columns: 1fr;
  }

  .evidence-claim-textarea {
    min-height: 4.8rem !important;
  }
}


.evidence-describe.compact { display: grid; gap: 0.58rem; }
.wizard-step-head.compact { margin-bottom: 0.18rem !important; }
.wizard-step-head.compact p { margin-top: 0.1rem !important; line-height: 1.28 !important; }
.wizard-selected-type-strip.compact { min-height: 3.2rem !important; padding: 0.48rem 0.62rem !important; }
.evidence-fields.compact { gap: 0.52rem !important; }
.evidence-fields.compact .tv-input { min-height: 2.2rem !important; height: 2.2rem !important; padding-block: 0.34rem !important; }
.evidence-claim-field.compact { grid-column: 1 / 2; }
.evidence-collector.compact { grid-column: 2 / 3; padding: 0.58rem !important; align-self: stretch; display: grid; grid-template-rows: auto minmax(0, 1fr); }
.evidence-claim-textarea.compact { min-height: 8.1rem !important; max-height: 11rem !important; }
.evidence-collector-head.compact { margin-bottom: 0.48rem !important; align-items: center !important; }
.evidence-collector-head.compact p { font-size: 0.82rem !important; }
.evidence-empty-drop.compact { min-height: 8.1rem; padding: 0.72rem !important; }
.evidence-empty-drop.compact i { font-size: 1.15rem !important; }
.evidence-attachment-grid.compact { grid-template-columns: 1fr !important; overflow: auto; max-height: 16rem; padding-right: 0.12rem; }
.evidence-attachment-card { padding: 0.55rem !important; }
.evidence-mini-textarea { min-height: 3.2rem !important; max-height: 5.2rem !important; }
.evidence-global-drop-hint { display: flex; align-items: center; gap: 0.42rem; margin: 0.1rem 0 0; color: var(--tv-muted); font-size: 0.82rem; }
.evidence-global-drop-hint i { color: rgba(216, 180, 254, 0.86); }

body.evidence-drag-active .artifact-wizard-backdrop::after {
  content: "Drop files to attach evidence";
  position: fixed;
  inset: 1.25rem;
  z-index: 9999;
  display: grid;
  place-items: center;
  border: 2px dashed rgba(216, 180, 254, 0.78);
  border-radius: 1.3rem;
  background: rgba(17, 13, 25, 0.72);
  color: rgba(248, 246, 255, 0.96);
  font-weight: 850;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(168, 85, 247, 0.26), 0 0 42px rgba(168, 85, 247, 0.28);
}

@media (max-width: 820px) {
  .evidence-claim-field.compact,
  .evidence-collector.compact { grid-column: 1 / -1; }
  .evidence-claim-textarea.compact { min-height: 5.2rem !important; max-height: 8rem !important; }
  .evidence-empty-drop.compact { min-height: 5.2rem; }
  .evidence-collector-head.compact { display: grid !important; gap: 0.45rem !important; }
  .evidence-collector-actions { display: grid !important; grid-template-columns: 1fr 1fr; width: 100%; }
  .evidence-global-drop-hint { display: none; }
}

@media (max-height: 760px) and (min-width: 821px) {
  .evidence-claim-textarea.compact,
  .evidence-empty-drop.compact { min-height: 6.2rem !important; max-height: 8rem !important; }
  .evidence-attachment-grid.compact { max-height: 11.5rem; }
  .artifact-wizard-body.paged { padding-block: 0.58rem !important; }
}


body.evidence-details-active .artifact-wizard-panel.paged {
  max-height: min(82vh, 760px) !important;
}

body.evidence-details-active .artifact-wizard-body.paged {
  padding: 0.74rem 1rem 0.34rem !important;
}

body.evidence-details-active .artifact-wizard-actions.paged {
  padding-block: 0.7rem !important;
}

.evidence-describe.polished {
  gap: 0.46rem !important;
}

.wizard-step-head.polished {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 0.55rem !important;
  align-items: center !important;
  padding-inline: 0.1rem !important;
}

.wizard-step-head.polished p {
  margin: 0 !important;
}

.wizard-selected-type-strip.polished {
  min-height: 2.85rem !important;
  padding: 0.42rem 0.56rem !important;
}

.evidence-fields.polished {
  padding: 0.58rem !important;
  border-radius: 0.95rem !important;
  background: rgba(255,255,255,0.018);
  border: 1px solid rgba(216,180,254,0.10);
}

.evidence-fields.polished .field-label {
  font-size: 0.88rem;
}

.evidence-fields.polished .tv-input {
  min-height: 2.05rem !important;
  height: 2.05rem !important;
  font-size: 0.88rem !important;
}

.evidence-claim-field.polished {
  margin-top: -0.06rem;
}

.evidence-claim-textarea.polished {
  min-height: 7.05rem !important;
  max-height: 9rem !important;
  font-size: 0.9rem !important;
  line-height: 1.38 !important;
}

.evidence-collector.polished {
  min-height: 0 !important;
  padding: 0.48rem !important;
  border-radius: 0.85rem !important;
}

.evidence-collector-head.polished {
  margin-bottom: 0.36rem !important;
  gap: 0.5rem !important;
}

.evidence-collector-head.polished strong {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.evidence-collector-head.polished p {
  font-size: 0.76rem !important;
  line-height: 1.25 !important;
  margin-top: 0 !important;
}

.evidence-count {
  display: inline-grid;
  place-items: center;
  min-width: 1.28rem;
  height: 1.28rem;
  border-radius: 999px;
  background: rgba(168, 85, 247, 0.20);
  color: rgba(248,246,255,0.94);
  border: 1px solid rgba(216,180,254,0.18);
  font-size: 0.72rem;
}

.evidence-collector-actions.polished .tv-btn {
  min-height: 1.95rem !important;
  padding: 0.28rem 0.58rem !important;
}

.evidence-empty-drop.polished {
  min-height: 7.05rem !important;
  padding: 0.55rem !important;
  gap: 0.2rem !important;
}

.evidence-empty-drop.polished i {
  font-size: 1.05rem !important;
}

.evidence-empty-drop.polished strong {
  font-size: 0.95rem;
}

.evidence-empty-drop.polished span {
  font-size: 0.82rem;
}

.evidence-attachment-grid.polished {
  max-height: 13.5rem !important;
}

@media (max-width: 820px) {
  body.evidence-details-active .artifact-wizard-panel.paged {
    max-height: 92vh !important;
  }

  body.evidence-details-active .artifact-wizard-body.paged {
    padding: 0.62rem 0.72rem 0.28rem !important;
  }

  .wizard-step-head.polished {
    align-items: start !important;
  }

  .evidence-fields.polished {
    padding: 0.5rem !important;
  }

  .evidence-claim-textarea.polished {
    min-height: 4.8rem !important;
    max-height: 6.5rem !important;
  }

  .evidence-empty-drop.polished {
    min-height: 4.6rem !important;
  }
}

@media (max-height: 720px) and (min-width: 821px) {
  body.evidence-details-active .artifact-wizard-panel.paged {
    max-height: 88vh !important;
  }

  .evidence-claim-textarea.polished,
  .evidence-empty-drop.polished {
    min-height: 5.7rem !important;
    max-height: 7rem !important;
  }

  .evidence-attachment-grid.polished {
    max-height: 9rem !important;
  }
}


.evidence-attachment-card.simplified {
  padding: 0.48rem !important;
}

.evidence-attachment-top.simplified {
  margin-bottom: 0.34rem !important;
}

.evidence-simple-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.42rem;
}

.evidence-file-name {
  display: grid;
  gap: 0.14rem;
  padding: 0.46rem 0.54rem;
  border: 1px solid rgba(216,180,254,0.10);
  border-radius: 0.62rem;
  background: rgba(255,255,255,0.025);
}

.evidence-file-name span {
  color: var(--tv-muted);
  font-size: 0.72rem;
  font-weight: 760;
}

.evidence-file-name strong {
  color: rgba(248,246,255,0.92);
  font-size: 0.88rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.evidence-mini-textarea.simplified {
  min-height: 4.6rem !important;
  max-height: 6.8rem !important;
}

.evidence-advanced-toggle {
  margin-top: 0.36rem;
  width: 100%;
  justify-content: center;
  opacity: 0.82;
}

.evidence-attachment-fields.advanced {
  margin-top: 0.42rem;
  padding-top: 0.42rem;
  border-top: 1px solid rgba(216,180,254,0.10);
}

@media (max-width: 820px) {
  .evidence-mini-textarea.simplified {
    min-height: 4rem !important;
  }

  .evidence-advanced-toggle {
    min-height: 2.2rem;
  }
}


.evidence-attachment-top.meta {
  align-items: start !important;
}

.evidence-meta-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.24rem;
  margin-top: 0.28rem;
}

.evidence-meta-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 1.2rem;
  padding: 0.08rem 0.38rem;
  border-radius: 999px;
  border: 1px solid rgba(216,180,254,0.14);
  background: rgba(168,85,247,0.10);
  color: rgba(224,214,255,0.84);
  font-size: 0.68rem;
  font-weight: 720;
  line-height: 1;
}

.evidence-attachment-card.meta .evidence-simple-fields {
  margin-top: 0.34rem;
}

@media (max-width: 820px) {
  .evidence-meta-chips span {
    min-height: 1.28rem;
    font-size: 0.7rem;
  }
}


.evidence-attachment-card.truthy .evidence-meta-chips span:first-child {
  border-color: rgba(129, 140, 248, 0.28);
  background: rgba(129, 140, 248, 0.12);
  color: rgba(224, 231, 255, 0.9);
}

.evidence-attachment-fields.advanced.truthy {
  grid-template-columns: 1fr !important;
}

.evidence-derived-row {
  display: grid;
  gap: 0.15rem;
  padding: 0.5rem 0.56rem;
  border: 1px solid rgba(216,180,254,0.10);
  border-radius: 0.62rem;
  background: rgba(255,255,255,0.022);
}

.evidence-derived-row span {
  color: var(--tv-muted);
  font-size: 0.72rem;
  font-weight: 760;
}

.evidence-derived-row strong {
  color: rgba(248,246,255,0.92);
  font-size: 0.9rem;
}

.evidence-derived-row small {
  color: var(--tv-muted);
  font-size: 0.74rem;
}


.evidence-image-thumb {
  width: 2rem;
  height: 2rem;
  padding: 0;
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  border-radius: 999px;
  border: 1px solid rgba(216,180,254,0.18);
  background: rgba(168,85,247,0.14);
  cursor: zoom-in;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.02), 0 8px 20px rgba(0,0,0,0.18);
}

.evidence-image-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.evidence-image-thumb:hover {
  border-color: rgba(216,180,254,0.44);
  box-shadow: 0 0 0 1px rgba(216,180,254,0.18), 0 0 18px rgba(168,85,247,0.22);
}

.evidence-preview-overlay {
  position: fixed;
  inset: 0;
  z-index: 10040;
  display: grid;
  place-items: center;
  padding: clamp(0.8rem, 2.5vw, 2rem);
  background: rgba(2, 1, 8, 0.72);
  backdrop-filter: blur(8px);
}

.evidence-preview-panel {
  width: min(94vw, 980px);
  max-height: 92vh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border-radius: 1.1rem;
  overflow: hidden;
  border: 1px solid rgba(216,180,254,0.22);
  background:
    radial-gradient(circle at 10% 0%, rgba(168,85,247,0.14), transparent 45%),
    rgba(12, 10, 20, 0.96);
  box-shadow: 0 24px 80px rgba(0,0,0,0.52), 0 0 34px rgba(168,85,247,0.12);
}

.evidence-preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid rgba(216,180,254,0.14);
}

.evidence-preview-head h2 {
  margin: 0.08rem 0 0;
  font-size: 1.05rem;
  line-height: 1.18;
  color: rgba(248,246,255,0.96);
}

.evidence-preview-body {
  min-height: 0;
  display: grid;
  place-items: center;
  padding: 0.8rem;
  background: rgba(0,0,0,0.20);
  overflow: hidden;
}

.evidence-preview-body img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 0.65rem;
  box-shadow: 0 10px 42px rgba(0,0,0,0.45);
}

@media (max-width: 680px) {
  .evidence-preview-overlay {
    padding: 0.48rem;
  }

  .evidence-preview-panel {
    width: 96vw;
    max-height: 94vh;
  }

  .evidence-preview-head {
    padding: 0.75rem;
  }

  .evidence-preview-body {
    padding: 0.5rem;
  }
}


.tree-all-toggle.disabled-placeholder {
  opacity: 0.42;
  cursor: default !important;
  pointer-events: none;
}

.tree-toolbar-tools {
  align-items: center;
}


select,
select.form-control,
select.tv-input,
.schema-aware-field select,
.wizard-fields select,
.modal-panel select {
  color-scheme: dark;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012)),
    rgba(18, 17, 28, 0.98) !important;
  color: rgba(248, 246, 255, 0.94) !important;
  border-color: rgba(216, 180, 254, 0.22) !important;
  accent-color: rgb(168, 85, 247);
}

select:focus,
select.form-control:focus,
select.tv-input:focus,
.schema-aware-field select:focus,
.wizard-fields select:focus,
.modal-panel select:focus {
  outline: none !important;
  border-color: rgba(216, 180, 254, 0.58) !important;
  box-shadow:
    0 0 0 1px rgba(216, 180, 254, 0.18),
    0 0 0 4px rgba(168, 85, 247, 0.14) !important;
}

select option,
select optgroup,
select.form-control option,
select.tv-input option,
.schema-aware-field select option,
.wizard-fields select option,
.modal-panel select option {
  background-color: rgb(18, 17, 28) !important;
  color: rgba(248, 246, 255, 0.94) !important;
}

select option:checked,
select option:hover,
select.tv-input option:checked,
select.tv-input option:hover,
.schema-aware-field select option:checked,
.schema-aware-field select option:hover {
  background-color: rgb(67, 38, 92) !important;
  color: rgba(255, 255, 255, 0.98) !important;
}

select option:disabled,
select.tv-input option:disabled,
.schema-aware-field select option:disabled {
  color: rgba(190, 178, 210, 0.55) !important;
  background-color: rgb(18, 17, 28) !important;
}

/* Some browsers expose native popup colors only when the control itself opts in. */
.modal-backdrop-custom,
.artifact-wizard-panel,
.modal-panel,
.schema-aware-field {
  color-scheme: dark;
}


.artifact-wizard-actions.paged .wizard-direct-create {
  order: 2;
}

.artifact-wizard-actions.paged .wizard-review-markdown {
  order: 3;
}

.artifact-wizard-actions.paged [data-action="close-modal"] {
  order: 4;
}

.artifact-wizard-actions.paged [data-action="wizard-set-step"] {
  order: 1;
}

@media (max-width: 700px) {
  .artifact-wizard-actions.paged .wizard-direct-create,
  .artifact-wizard-actions.paged .wizard-review-markdown {
    width: 100%;
    justify-content: center;
  }
}


.artifact-wizard-panel .kicker {
  letter-spacing: 0.16em;
}


.tree-root-note.root-add {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
}

.folder-add-row {
  display: flex !important;
  align-items: center;
  gap: 0.35rem;
  padding-left: calc(0.7rem + var(--tree-depth) * 1.15rem) !important;
}

.folder-add-row .tree-folder-toggle {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: inherit;
  background: transparent;
  border: 0;
  padding: 0;
  text-align: left;
  cursor: pointer;
}

.tree-folder-add {
  flex: 0 0 auto;
  width: 1.85rem;
  height: 1.85rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(216,180,254,0.16);
  background: rgba(168,85,247,0.10);
  color: rgba(232,214,255,0.92);
  cursor: pointer;
}

.tree-folder-add:hover {
  border-color: rgba(216,180,254,0.44);
  background: rgba(168,85,247,0.20);
  box-shadow: 0 0 0 1px rgba(216,180,254,0.12), 0 0 18px rgba(168,85,247,0.16);
}

.tree-folder-add i {
  font-size: 0.78rem;
}


.export-panel {
  width: min(94vw, 860px);
  max-height: 88vh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.export-head {
  border-bottom: 1px solid rgba(216,180,254,0.14);
}

.export-body {
  min-height: 0;
  overflow: auto;
  padding: 1rem;
  display: grid;
  gap: 0.9rem;
}

.export-mode-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.export-mode-card {
  min-width: 0;
  text-align: left;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.18rem 0.5rem;
  align-items: start;
  border: 1px solid rgba(216,180,254,0.14);
  border-radius: 0.95rem;
  padding: 0.72rem;
  background: rgba(255,255,255,0.025);
  color: rgba(248,246,255,0.92);
  cursor: pointer;
}

.export-mode-card > span {
  width: 2rem;
  height: 2rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(168,85,247,0.13);
  color: rgba(216,180,254,0.95);
  grid-row: span 2;
}

.export-mode-card strong {
  font-size: 0.98rem;
}

.export-mode-card small {
  color: var(--tv-muted);
  line-height: 1.3;
}

.export-mode-card.active {
  border-color: rgba(216,180,254,0.48);
  background: rgba(168,85,247,0.15);
  box-shadow: 0 0 0 1px rgba(216,180,254,0.10), 0 0 22px rgba(168,85,247,0.12);
}

.export-section {
  border: 1px solid rgba(216,180,254,0.12);
  border-radius: 0.9rem;
  padding: 0.75rem;
  background: rgba(255,255,255,0.018);
}

.export-section h3 {
  margin: 0 0 0.55rem;
  font-size: 0.94rem;
}

.export-source-list {
  display: grid;
  gap: 0.45rem;
  max-height: 15rem;
  overflow: auto;
}

.export-source-row,
.export-toggle-row {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 0.6rem;
  align-items: center;
  padding: 0.55rem;
  border-radius: 0.72rem;
  border: 1px solid rgba(216,180,254,0.10);
  background: rgba(12,10,20,0.32);
}

.export-source-row input,
.export-toggle-row input {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: rgb(168,85,247);
}

.export-source-row strong,
.export-toggle-row strong {
  display: block;
}

.export-source-row small,
.export-toggle-row small {
  display: block;
  color: var(--tv-muted);
  line-height: 1.3;
}

.export-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.export-summary div {
  border: 1px solid rgba(216,180,254,0.12);
  border-radius: 0.82rem;
  padding: 0.65rem;
  background: rgba(168,85,247,0.06);
}

.export-summary strong {
  display: block;
  font-size: 1.1rem;
}

.export-summary span {
  color: var(--tv-muted);
  font-size: 0.78rem;
}

.export-actions {
  border-top: 1px solid rgba(216,180,254,0.14);
  padding: 0.8rem 1rem;
}

@media (max-width: 760px) {
  .export-mode-grid,
  .export-summary {
    grid-template-columns: 1fr;
  }
}


.export-encryption {
  display: grid;
  gap: 0.65rem;
}

.export-password-field {
  display: grid;
  gap: 0.35rem;
  margin: 0 0.1rem;
}

.export-encryption-note {
  margin: -0.15rem 0.1rem 0;
  color: var(--tv-muted);
  font-size: 0.78rem;
  line-height: 1.4;
}


.export-format,
.export-password {
  display: grid;
  gap: 0.6rem;
}

.export-choice-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 0.55rem;
}

.export-choice-pill {
  min-width: 0;
  border: 1px solid rgba(216,180,254,0.13);
  border-radius: 0.72rem;
  padding: 0.55rem 0.65rem;
  background: rgba(255,255,255,0.022);
  color: rgba(248,246,255,0.90);
  text-align: left;
  cursor: pointer;
}

.export-choice-pill strong,
.export-choice-pill small {
  display: block;
}

.export-choice-pill small {
  color: var(--tv-muted);
  margin-top: 0.14rem;
  font-size: 0.74rem;
  line-height: 1.25;
}

.export-choice-pill.active {
  border-color: rgba(216,180,254,0.50);
  background: rgba(168,85,247,0.15);
  box-shadow: 0 0 0 1px rgba(216,180,254,0.10), 0 0 18px rgba(168,85,247,0.10);
}

.export-choice-pill:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

@media (max-width: 760px) {
  .export-choice-row { grid-template-columns: 1fr; }
}


/* Policy documents are prose, not form fields. Let the body use the modal width. */
.policy-dialog-panel .policy-text,
.policy-dialog-panel .policy-document,
.policy-dialog-panel .policy-doc,
.policy-dialog-panel pre,
.policy-modal-panel .policy-text,
.policy-modal-panel .policy-document,
.policy-modal-panel .policy-doc,
.policy-modal-panel pre,
.modal-panel .policy-text,
.modal-panel .policy-document,
.modal-panel .policy-doc {
  width: 100% !important;
  max-width: none !important;
}

.policy-dialog-panel pre,
.policy-modal-panel pre,
.modal-panel pre.policy-text,
.modal-panel pre.policy-document,
.modal-panel pre.policy-doc {
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
}

/* Current LICENSE/NOTICE body cards are rendered as a prose block inside the policy modal.
   This targets that block conservatively without changing generic markdown cards elsewhere. */
.modal-panel[role="dialog"] .policy-body,
.modal-panel[role="dialog"] .notice-body,
.modal-panel[role="dialog"] .license-body {
  width: 100% !important;
  max-width: none !important;
}

/* Fallback for the present generated policy/notice dialog: the large text card after the summary tiles. */
.modal-panel[role="dialog"] .policy-summary-grid + .policy-text,
.modal-panel[role="dialog"] .policy-summary-grid + .policy-document,
.modal-panel[role="dialog"] .policy-summary-grid + pre,
.modal-panel[role="dialog"] .policy-meta-grid + .policy-text,
.modal-panel[role="dialog"] .policy-meta-grid + .policy-document,
.modal-panel[role="dialog"] .policy-meta-grid + pre {
  width: 100% !important;
  max-width: none !important;
}

/* A more layout-level fallback: if the modal contains LICENSE/NOTICE prose, make the prose column full width. */
.modal-panel .license-notice-prose,
.modal-panel .policy-prose {
  width: 100% !important;
  max-width: none !important;
}

/* The actual content card in current builds is a plain text block with a fixed/ch content width.
   Widen only inside LICENSE/NOTICE modal-like bodies. */
.modal-panel:has(.kicker) .license-policy-text,
.modal-panel:has(.kicker) .notice-policy-text,
.modal-panel:has(.kicker) .source-policy-text {
  width: 100% !important;
  max-width: none !important;
}

/* General safe override for document text inside LICENSE / NOTICE modals. */
.modal-backdrop-custom .modal-panel .document-text,
.modal-backdrop-custom .modal-panel .document-prose,
.modal-backdrop-custom .modal-panel .policy-raw-text {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* If the document text is nested in a card, let the card use the full body width too. */
.modal-backdrop-custom .modal-panel .policy-card,
.modal-backdrop-custom .modal-panel .document-card,
.modal-backdrop-custom .modal-panel .notice-card,
.modal-backdrop-custom .modal-panel .license-card {
  width: 100% !important;
  max-width: none !important;
}

/* Browser support for :has is now broad in Chromium/Safari/Firefox. Keep it scoped to modal panels. */
.modal-panel:has(.modal-title-lite) .policy-content-card,
.modal-panel:has(.modal-title-lite) .license-content-card,
.modal-panel:has(.modal-title-lite) .notice-content-card {
  width: 100% !important;
  max-width: none !important;
}

/* Current generated markdown-like policy text often arrives as paragraph-only content.
   Use readable prose width by controlling line-length through padding, not max-width. */
.modal-backdrop-custom .modal-panel .policy-text p,
.modal-backdrop-custom .modal-panel .document-text p,
.modal-backdrop-custom .modal-panel .policy-document p {
  max-width: none !important;
}

/* Preserve readability on very wide screens while still using the text card width. */
@media (min-width: 900px) {
  .modal-backdrop-custom .modal-panel .policy-text,
  .modal-backdrop-custom .modal-panel .policy-document,
  .modal-backdrop-custom .modal-panel .document-text,
  .modal-backdrop-custom .modal-panel .policy-raw-text {
    line-height: 1.58 !important;
  }
}


.export-head {
  padding-bottom: 1rem !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(168,85,247,0.13), transparent 42%),
    linear-gradient(180deg, rgba(16,13,25,0.995), rgba(16,13,25,0.955)) !important;
}

.export-head .kicker {
  margin-bottom: 0.36rem !important;
  color: rgba(216,180,254,0.94) !important;
  letter-spacing: 0.17em !important;
}

.export-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.58rem !important;
  margin: 0 !important;
  line-height: 1.12 !important;
}

.export-title-icon {
  width: 2.05rem;
  height: 2.05rem;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 0.72rem;
  color: rgba(248,246,255,0.96);
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,0.20), transparent 38%),
    rgba(168,85,247,0.18);
  border: 1px solid rgba(216,180,254,0.22);
  box-shadow: 0 10px 28px rgba(0,0,0,0.22), 0 0 22px rgba(168,85,247,0.10);
}

.export-head .text-secondary {
  margin-top: 0.46rem !important;
  max-width: 42rem;
  line-height: 1.45;
}

.export-password .export-choice-pill strong {
  letter-spacing: 0.005em;
}

.export-password .export-choice-pill.active strong {
  color: rgba(255,255,255,0.98);
}

.export-encryption-note {
  border-left: 2px solid rgba(216,180,254,0.24);
  padding-left: 0.62rem;
}


.feed-toolbar.discovery,
.feed-toolbar.discovery.feed-toolbar-foundation,
.feed-toolbar.discovery.feed-toolbar-shell,
.feed-toolbar.discovery.feed-toolbar-layout {
  grid-template-columns: auto minmax(0, 1fr) !important;
}

.feed-toolbar.discovery .discovery-tools,
.feed-toolbar.discovery .discovery-tools-foundation,
.feed-toolbar.discovery .discovery-tools-layout,
.feed-toolbar.discovery .tree-toolbar-tools {
  width: auto !important;
  min-width: 0 !important;
  justify-self: end !important;
  margin-left: auto !important;
  display: grid !important;
  grid-template-columns: auto minmax(220px, 280px) !important;
  gap: 0.55rem !important;
  align-items: center !important;
}

.feed-toolbar.discovery .search-box {
  width: clamp(220px, 32vw, 280px) !important;
  min-width: 220px !important;
  max-width: 280px !important;
  flex: 0 0 clamp(220px, 32vw, 280px) !important;
}

.feed-toolbar.discovery .tree-all-toggle {
  justify-self: end;
}

.asset-section {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.85rem;
}

.asset-section-title {
  margin-top: 0.35rem;
}

.asset-post .post-title {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.asset-post .post-title i {
  color: rgba(216,180,254,0.86);
}

.asset-main {
  cursor: default !important;
}

.asset-actions {
  justify-content: flex-start;
}

.asset-hidden-notice {
  margin: 0.8rem 0 0;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.8rem 0.9rem;
  border-radius: 0.9rem;
  border: 1px dashed rgba(216,180,254,0.20);
  color: var(--tv-muted);
  background: rgba(255,255,255,0.018);
}

.asset-hidden-notice i {
  color: rgba(216,180,254,0.86);
}

.asset-hidden-notice .tv-btn {
  margin-left: auto;
}

.asset-preview-panel {
  width: min(94vw, 980px);
  height: min(88dvh, 980px);
  max-height: 88dvh;
  display: flex;
  flex-direction: column;
}

.asset-preview-body {
  min-height: 0;
  overflow: auto;
}

.asset-image-preview-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  padding: clamp(0.65rem, 2vw, 1rem) !important;
}

.asset-image-preview-body img[data-attachment-preview] {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 720px) {
  .feed-toolbar.discovery .discovery-tools,
  .feed-toolbar.discovery .discovery-tools-foundation,
  .feed-toolbar.discovery .discovery-tools-layout,
  .feed-toolbar.discovery .tree-toolbar-tools {
    width: 100% !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  .feed-toolbar.discovery .search-box {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex-basis: auto !important;
  }

  .asset-hidden-notice {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .asset-preview-panel {
    width: calc(100vw - 1.3rem) !important;
    height: calc(100dvh - 1.3rem) !important;
    max-height: calc(100dvh - 1.3rem) !important;
  }

  .asset-image-preview-body {
    padding: 0.5rem !important;
  }
}


.feed-toolbar.discovery,
.feed-toolbar.discovery.feed-toolbar-foundation,
.feed-toolbar.discovery.feed-toolbar-shell,
.feed-toolbar.discovery.feed-toolbar-layout {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

.feed-toolbar.discovery .feed-mode {
  grid-column: 1 !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  justify-content: flex-start !important;
  justify-self: start !important;
  z-index: 2 !important;
}

.feed-toolbar.discovery .discovery-tools,
.feed-toolbar.discovery .discovery-tools-foundation,
.feed-toolbar.discovery .discovery-tools-layout,
.feed-toolbar.discovery .tree-toolbar-tools {
  grid-column: 2 !important;
  justify-self: end !important;
  align-self: center !important;
  width: min(100%, 330px) !important;
  max-width: 330px !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 280px) !important;
  gap: 0.55rem !important;
  align-items: center !important;
}

.feed-toolbar.discovery .search-box {
  justify-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 280px !important;
  flex: none !important;
}

.feed-toolbar.discovery .search-box input {
  min-width: 0 !important;
}

@media (max-width: 640px) {
  .feed-toolbar.discovery,
  .feed-toolbar.discovery.feed-toolbar-foundation,
  .feed-toolbar.discovery.feed-toolbar-shell,
  .feed-toolbar.discovery.feed-toolbar-layout {
    grid-template-columns: 1fr !important;
    gap: 0.55rem !important;
  }

  .feed-toolbar.discovery .feed-mode {
    grid-column: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    justify-content: space-between !important;
  }

  .feed-toolbar.discovery .discovery-tools,
  .feed-toolbar.discovery .discovery-tools-foundation,
  .feed-toolbar.discovery .discovery-tools-layout,
  .feed-toolbar.discovery .tree-toolbar-tools {
    grid-column: 1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  .feed-toolbar.discovery .search-box {
    max-width: none !important;
  }
}


/* Tree has an expand/collapse icon before search; Feed does not.
   Reserve that icon slot in both modes so the search field keeps the same x-position. */
.feed-toolbar.discovery .discovery-tools,
.feed-toolbar.discovery .discovery-tools-foundation,
.feed-toolbar.discovery .discovery-tools-layout,
.feed-toolbar.discovery .tree-toolbar-tools {
  grid-template-columns: 2.25rem minmax(0, 280px) !important;
  width: min(100%, calc(2.25rem + 0.55rem + 280px)) !important;
  max-width: calc(2.25rem + 0.55rem + 280px) !important;
}

.feed-toolbar.discovery .tree-all-toggle {
  grid-column: 1 !important;
  justify-self: center !important;
}

.feed-toolbar.discovery .search-box {
  grid-column: 2 !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 280px !important;
}

@media (max-width: 640px) {
  .feed-toolbar.discovery .discovery-tools,
  .feed-toolbar.discovery .discovery-tools-foundation,
  .feed-toolbar.discovery .discovery-tools-layout,
  .feed-toolbar.discovery .tree-toolbar-tools {
    grid-template-columns: 2.1rem minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: none !important;
  }

  .feed-toolbar.discovery .search-box {
    grid-column: 2 !important;
    max-width: none !important;
  }
}


/* Keep the reserved Tree icon slot and the real Tree button the same height as the search box. */
.feed-toolbar.discovery {
  align-items: center !important;
}

.feed-toolbar.discovery .discovery-tools,
.feed-toolbar.discovery .discovery-tools-foundation,
.feed-toolbar.discovery .discovery-tools-layout,
.feed-toolbar.discovery .tree-toolbar-tools {
  align-items: center !important;
  min-height: 2rem !important;
}

.feed-toolbar.discovery .tree-all-toggle,
.feed-toolbar.discovery .tree-all-toggle.disabled-placeholder {
  width: 2rem !important;
  min-width: 2rem !important;
  max-width: 2rem !important;
  height: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  align-self: center !important;
  justify-self: center !important;
}

.feed-toolbar.discovery .search-box {
  height: 2rem !important;
  min-height: 2rem !important;
  max-height: 2rem !important;
  align-self: center !important;
  box-sizing: border-box !important;
}

.feed-toolbar.discovery .feed-mode {
  align-self: center !important;
}

@media (max-width: 640px) {
  .feed-toolbar.discovery .tree-all-toggle,
  .feed-toolbar.discovery .tree-all-toggle.disabled-placeholder,
  .feed-toolbar.discovery .search-box {
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
  }
}


.loading-progress {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.22rem 0.62rem;
  align-items: center;
  margin: 0.65rem 0 0.75rem;
  padding: 0.72rem 0.82rem;
  border: 1px solid rgba(216,180,254,0.16);
  border-radius: 0.9rem;
  background: rgba(168,85,247,0.07);
  color: rgba(248,246,255,0.92);
}

.loading-progress i {
  color: rgba(216,180,254,0.92);
  grid-row: span 2;
}

.loading-progress small {
  display: block;
  color: var(--tv-muted);
  line-height: 1.35;
}

.discovery-window-loader {
  margin-top: 0.75rem;
}

@media (max-width: 640px) {
  .post-feed.discovery > .discovery-window-loader,
  .discovery-window-loader {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
    gap: 0.62rem !important;
    padding: 0.9rem 0.95rem !important;
    text-align: center !important;
  }

  .discovery-window-loader .tv-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .discovery-window-loader span {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
  }
}


.loading-progress {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0.5rem !important;
  padding: 0.68rem 0.78rem !important;
}

.progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.progress-head span {
  display: inline-flex;
  align-items: center;
  gap: 0.48rem;
  min-width: 0;
  color: rgba(248,246,255,0.9);
  font-size: 0.86rem;
}

.progress-head small {
  color: var(--tv-muted);
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
}

.progress-track {
  height: 0.48rem;
  width: 100%;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,0.075);
  box-shadow: inset 0 0 0 1px rgba(216,180,254,0.08);
}

.progress-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(168,85,247,0.72), rgba(216,180,254,0.92));
  box-shadow: 0 0 18px rgba(168,85,247,0.25);
  transition: width 140ms ease;
}


/* Keep the Tiinex mark visible on narrow screens. */
@media (max-width: 640px) {
  .topbar,
  .topbar.compact,
  .topbar-foundation,
  .topbar-shell,
  .topbar-layout,
  .topbar-actions,
  .topbar-branded {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.45rem !important;
    flex-wrap: wrap !important;
  }

  .brand,
  .brand-inline,
  .viewer-brand,
  .viewer-brand-link-slot,
  .brand-mark {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
  }

  .viewer-brand-link-slot,
  .brand-mark {
    width: 2.25rem !important;
    min-width: 2.25rem !important;
    max-width: 2.25rem !important;
    height: 2.25rem !important;
    min-height: 2.25rem !important;
    max-height: 2.25rem !important;
  }

  .viewer-brand-link-img,
  .brand-mark img,
  .viewer-brand img,
  .brand img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 2.25rem !important;
    min-width: 2.25rem !important;
    max-width: 2.25rem !important;
    height: 2.25rem !important;
    min-height: 2.25rem !important;
    max-height: 2.25rem !important;
    object-fit: contain !important;
  }

  .top-actions,
  .workspace-top-actions-layout,
  .workspace-top-actions-toolbar {
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  /* Mobile cards: use the full width for actions with predictable hit targets. */
  .lineage-post .post-actions {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(2.65rem, 1fr)) !important;
    gap: 0.42rem !important;
    align-items: stretch !important;
    padding: 0.55rem !important;
  }

  .lineage-post .post-actions .icon-action,
  .lineage-post .post-actions .post-action,
  .lineage-post .post-actions button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 2.55rem !important;
    height: 2.55rem !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0.72rem !important;
    box-sizing: border-box !important;
  }

  .lineage-post .post-actions .icon-action i,
  .lineage-post .post-actions .post-action i {
    font-size: 0.95rem !important;
    margin: 0 !important;
  }

  .lineage-post .post-actions .icon-action span,
  .lineage-post .post-actions .post-action span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  .asset-actions {
    grid-template-columns: repeat(auto-fit, minmax(4.25rem, 1fr)) !important;
  }

  .asset-actions .icon-action span {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    margin-left: 0.28rem !important;
    font-size: 0.78rem !important;
  }
}

@media (max-width: 380px) {
  .lineage-post .post-actions {
    grid-template-columns: repeat(auto-fit, minmax(2.35rem, 1fr)) !important;
    gap: 0.35rem !important;
  }

  .lineage-post .post-actions .icon-action,
  .lineage-post .post-actions .post-action,
  .lineage-post .post-actions button {
    min-height: 2.45rem !important;
    height: 2.45rem !important;
  }
}


.preview-toggle {
  width: 2rem !important;
  min-width: 2rem !important;
  height: 2rem !important;
  min-height: 2rem !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(216,180,254,0.16) !important;
  background: rgba(255,255,255,0.025) !important;
  color: rgba(216,180,254,0.88) !important;
}

.preview-toggle.active {
  border-color: rgba(216,180,254,0.50) !important;
  background: rgba(168,85,247,0.22) !important;
  color: rgba(255,255,255,0.96) !important;
  box-shadow: 0 0 0 1px rgba(216,180,254,0.08), 0 0 18px rgba(168,85,247,0.16);
}

.preview-filter-bar {
  margin: 0.55rem 0 0.75rem;
  padding: 0.62rem;
  border: 1px solid rgba(216,180,254,0.14);
  border-radius: 0.9rem;
  background: rgba(168,85,247,0.055);
  display: grid;
  gap: 0.5rem;
}

.preview-filter-title {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: rgba(248,246,255,0.9);
  font-size: 0.85rem;
  font-weight: 700;
}

.preview-filter-title i {
  color: rgba(216,180,254,0.92);
}

.preview-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
}

.preview-kind-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 999px;
  border: 1px solid rgba(216,180,254,0.14);
  background: rgba(255,255,255,0.025);
  color: rgba(248,246,255,0.84);
  padding: 0.32rem 0.56rem;
  cursor: pointer;
  font-size: 0.78rem;
}

.preview-kind-chip small {
  min-width: 1.2rem;
  height: 1.2rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(216,180,254,0.12);
  color: rgba(248,246,255,0.8);
  font-variant-numeric: tabular-nums;
}

.preview-kind-chip.active {
  border-color: rgba(216,180,254,0.46);
  background: rgba(168,85,247,0.22);
  color: #fff;
}

.preview-post .post-main {
  border-bottom: 1px solid rgba(216,180,254,0.10);
}

.preview-material-section {
  margin: 0.75rem 0.85rem 0.85rem !important;
  border-style: solid !important;
  background:
    radial-gradient(circle at 5% 0%, rgba(168,85,247,0.10), transparent 42%),
    rgba(255,255,255,0.018) !important;
}

.preview-feed .lineage-post:not(.preview-post) {
  display: none !important;
}

@media (max-width: 640px) {
  .preview-filter-bar {
    margin-top: 0.48rem;
  }

  .preview-filter-chips {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(5.5rem, 1fr));
  }

  .preview-kind-chip {
    justify-content: space-between;
    min-height: 2.1rem;
  }

  .preview-material-section {
    margin: 0.58rem 0.55rem 0.65rem !important;
  }
}


.preview-kind-chip {
  user-select: none;
}

.preview-kind-chip.active {
  box-shadow: 0 0 0 1px rgba(216,180,254,0.10), 0 0 16px rgba(168,85,247,0.12);
}

.lineage-search-wrap {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
}

.lineage-search-wrap .preview-toggle {
  justify-self: center;
}

.post-feed.lineage.preview-feed .preview-material-section {
  margin-top: 0.65rem !important;
}

.post-feed.lineage.preview-feed .lineage-post:not(.preview-post) {
  opacity: 0.92;
}

@media (max-width: 640px) {
  .lineage-search-wrap {
    grid-template-columns: auto minmax(0, 1fr);
    width: 100%;
  }

  .lineage-search-wrap .search-box {
    min-width: 0;
    width: 100%;
  }
}


.preview-filter-bar {
  padding: 0.48rem 0.55rem !important;
  gap: 0.42rem !important;
}

.preview-filter-compact {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.48rem;
  min-width: 0;
}

.preview-filter-compact .preview-filter-title {
  font-size: 0.78rem;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.preview-selected-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.32rem;
  min-width: 0;
}

.preview-selected-chip,
.preview-filter-toggle {
  min-height: 1.82rem;
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  border-radius: 999px;
  border: 1px solid rgba(216,180,254,0.16);
  background: rgba(255,255,255,0.025);
  color: rgba(248,246,255,0.86);
  padding: 0.28rem 0.48rem;
  font-size: 0.76rem;
  cursor: pointer;
}

.preview-selected-chip.active {
  border-color: rgba(216,180,254,0.42);
  background: rgba(168,85,247,0.18);
  color: #fff;
}

.preview-selected-chip small,
.preview-filter-toggle small {
  min-width: 1.12rem;
  height: 1.12rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(216,180,254,0.13);
  color: rgba(248,246,255,0.78);
  font-variant-numeric: tabular-nums;
}

.preview-selected-chip i {
  color: rgba(248,246,255,0.68);
  font-size: 0.68rem;
}

.preview-filter-toggle {
  justify-self: end;
  white-space: nowrap;
  background: rgba(168,85,247,0.08);
}

.preview-filter-tray {
  display: flex;
  flex-wrap: wrap;
  gap: 0.34rem;
  padding-top: 0.34rem;
  border-top: 1px solid rgba(216,180,254,0.10);
}

.preview-filter-tray .preview-kind-chip {
  min-height: 1.8rem;
  padding: 0.24rem 0.48rem;
  font-size: 0.74rem;
}

@media (max-width: 640px) {
  .preview-filter-bar {
    padding: 0.42rem 0.46rem !important;
  }

  .preview-filter-compact {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.38rem;
  }

  .preview-filter-compact .preview-filter-title {
    display: none;
  }

  .preview-selected-chips {
    overflow: hidden;
    flex-wrap: nowrap;
  }

  .preview-selected-chip {
    max-width: 8.5rem;
    min-width: 0;
  }

  .preview-selected-chip span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .preview-filter-toggle span {
    display: none;
  }

  .preview-filter-tray {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(5.2rem, 1fr));
  }

  .preview-filter-tray .preview-kind-chip {
    justify-content: space-between;
  }

  footer,
  .app-footer,
  .powered-by,
  .viewer-footer {
    font-size: 0.68rem !important;
    opacity: 0.58 !important;
    padding-block: 0.25rem !important;
  }
}


@media (max-width: 640px) {
  .lineage-post .post-actions {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 0.28rem !important;
    padding: 0.42rem 0.5rem !important;
    align-items: stretch !important;
  }

  .lineage-post .post-actions > *,
  .lineage-post .post-actions .icon-action,
  .lineage-post .post-actions .post-action,
  .lineage-post .post-actions button,
  .lineage-post .post-actions a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 2.2rem !important;
    min-height: 2.2rem !important;
    max-height: 2.2rem !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0.68rem !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .lineage-post .post-actions .icon-action span,
  .lineage-post .post-actions .post-action span,
  .lineage-post .post-actions button span,
  .lineage-post .post-actions a span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  .lineage-post .post-actions .icon-action i,
  .lineage-post .post-actions .post-action i,
  .lineage-post .post-actions button i,
  .lineage-post .post-actions a i {
    margin: 0 !important;
    font-size: 0.92rem !important;
    line-height: 1 !important;
  }

  /* Asset action cards can keep short labels because they are fewer and less dense. */
  .asset-post .post-actions {
    grid-template-columns: repeat(auto-fit, minmax(4rem, 1fr)) !important;
  }

  .asset-post .post-actions .icon-action span,
  .asset-post .post-actions .post-action span {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    margin-left: 0.24rem !important;
    font-size: 0.72rem !important;
  }
}

@media (max-width: 380px) {
  .lineage-post .post-actions {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 0.22rem !important;
    padding-inline: 0.38rem !important;
  }

  .lineage-post .post-actions > *,
  .lineage-post .post-actions .icon-action,
  .lineage-post .post-actions .post-action,
  .lineage-post .post-actions button,
  .lineage-post .post-actions a {
    height: 2.05rem !important;
    min-height: 2.05rem !important;
    max-height: 2.05rem !important;
    border-radius: 0.58rem !important;
  }
}


@media (max-width: 640px) {
  /* Override older mobile rules that made each action stretch into a full row. */
  .lineage-post > .post-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.28rem !important;
    padding: 0.4rem 0.5rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .lineage-post > .post-actions::-webkit-scrollbar {
    display: none !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 2.15rem !important;
    max-width: none !important;
    height: 2.1rem !important;
    min-height: 2.1rem !important;
    max-height: 2.1rem !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0.64rem !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .lineage-post > .post-actions > .icon-action span,
  .lineage-post > .post-actions > .post-action span,
  .lineage-post > .post-actions > button span,
  .lineage-post > .post-actions > a span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  .lineage-post > .post-actions > .icon-action i,
  .lineage-post > .post-actions > .post-action i,
  .lineage-post > .post-actions > button i,
  .lineage-post > .post-actions > a i {
    margin: 0 !important;
    font-size: 0.9rem !important;
  }

  /* Keep asset action labels only where they are few enough to remain ergonomic. */
  .asset-post > .post-actions {
    flex-wrap: wrap !important;
  }

  .asset-post > .post-actions > .icon-action span,
  .asset-post > .post-actions > .post-action span {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    margin-left: 0.24rem !important;
    font-size: 0.72rem !important;
  }

  /* Scroll-down compact state: keep context, reclaim reading space. */
  .workspace.mobile-chrome-compact .workspace-source-tabs,
  .workspace.mobile-chrome-compact .drop-hint,
  .workspace.mobile-chrome-compact .source-drop-zone,
  .workspace.mobile-chrome-compact .preview-filter-bar {
    max-height: 0 !important;
    min-height: 0 !important;
    opacity: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-width: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    transition: max-height 160ms ease, opacity 120ms ease, padding 160ms ease, margin 160ms ease !important;
  }

  .workspace.mobile-chrome-compact .feed-toolbar.discovery,
  .workspace.mobile-chrome-compact .feed-toolbar.discovery.feed-toolbar-foundation,
  .workspace.mobile-chrome-compact .feed-toolbar.discovery.feed-toolbar-shell,
  .workspace.mobile-chrome-compact .feed-toolbar.discovery.feed-toolbar-layout {
    gap: 0.34rem !important;
    padding-top: 0.34rem !important;
    padding-bottom: 0.34rem !important;
  }

  .workspace.mobile-chrome-compact .feed-mode .kicker-inline {
    max-width: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
  }

  .workspace.mobile-chrome-compact .search-box {
    height: 1.85rem !important;
    min-height: 1.85rem !important;
  }

  .workspace.mobile-chrome-compact .preview-toggle,
  .workspace.mobile-chrome-compact .tree-all-toggle {
    width: 1.85rem !important;
    min-width: 1.85rem !important;
    height: 1.85rem !important;
    min-height: 1.85rem !important;
  }
}

@media (max-width: 380px) {
  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a {
    min-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
  }
}


.mobile-global-actions-host {
  display: none;
}

@media (max-width: 640px) {
  body.mobile-lens .topbar,
  body.mobile-lens .topbar.compact,
  body.mobile-lens .topbar-foundation,
  body.mobile-lens .topbar-shell,
  body.mobile-lens .topbar-layout,
  body.mobile-lens .topbar-actions,
  body.mobile-lens .topbar-branded {
    position: sticky !important;
    top: 0 !important;
    z-index: 70 !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    padding: 0.34rem 0.42rem !important;
    min-height: 2.65rem !important;
    justify-content: flex-start !important;
    backdrop-filter: blur(16px);
  }

  body.mobile-lens .topbar .tv-btn:not(.mobile-keep),
  body.mobile-lens .topbar .top-actions > *:not(:first-child),
  body.mobile-lens .workspace-top-actions-layout > *:not(:first-child),
  body.mobile-lens .workspace-top-actions-toolbar > *:not(:first-child) {
    display: none !important;
  }

  body.mobile-lens .workspace {
    border-radius: 1.05rem !important;
  }

  body.mobile-lens .workspace-header,
  body.mobile-lens .workspace-top,
  body.mobile-lens .workspace-title-row {
    padding-block: 0.62rem !important;
  }

  body.mobile-lens .workspace-actions,
  body.mobile-lens .workspace-toolbar-actions {
    gap: 0.32rem !important;
  }

  body.mobile-lens .workspace-actions .tv-btn,
  body.mobile-lens .workspace-toolbar-actions .tv-btn,
  body.mobile-lens .workspace-actions button,
  body.mobile-lens .workspace-toolbar-actions button {
    width: 2.05rem !important;
    min-width: 2.05rem !important;
    height: 2.05rem !important;
    min-height: 2.05rem !important;
    padding: 0 !important;
  }

  body.mobile-lens .workspace-actions .tv-btn span,
  body.mobile-lens .workspace-toolbar-actions .tv-btn span,
  body.mobile-lens .workspace-actions button span,
  body.mobile-lens .workspace-toolbar-actions button span {
    display: none !important;
  }

  .mobile-global-actions-host {
    display: block;
    position: fixed;
    right: 1rem;
    bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
    z-index: 95;
  }

  .mobile-fab {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 999px;
    border: 1px solid rgba(216,180,254,0.45);
    color: #fff;
    background:
      radial-gradient(circle at 34% 25%, rgba(255,255,255,0.26), transparent 36%),
      linear-gradient(135deg, rgba(168,85,247,0.92), rgba(88,28,135,0.92));
    box-shadow: 0 16px 34px rgba(0,0,0,0.38), 0 0 28px rgba(168,85,247,0.22);
  }

  .mobile-fab-sheet {
    position: absolute;
    right: 0;
    bottom: 3.75rem;
    width: min(78vw, 17rem);
    display: grid;
    gap: 0.34rem;
    padding: 0.5rem;
    border-radius: 1rem;
    border: 1px solid rgba(216,180,254,0.20);
    background: rgba(18,15,27,0.96);
    box-shadow: 0 24px 60px rgba(0,0,0,0.48);
    backdrop-filter: blur(18px);
  }

  .mobile-fab-sheet button {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.55rem;
    padding: 0.4rem 0.65rem;
    border-radius: 0.72rem;
    border: 1px solid rgba(216,180,254,0.12);
    background: rgba(255,255,255,0.025);
    color: rgba(248,246,255,0.90);
    text-align: left;
  }

  .mobile-card-actions {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.38rem;
    padding: 0.42rem 0.55rem;
    border-top: 1px solid rgba(216,180,254,0.08);
  }

  .mobile-card-actions button {
    height: 2.18rem;
    border-radius: 0.68rem;
    border: 1px solid rgba(216,180,254,0.15);
    background: rgba(255,255,255,0.025);
    color: rgba(248,246,255,0.82);
  }

  .mobile-primary-action {
    color: rgba(110,231,183,0.92) !important;
    border-color: rgba(16,185,129,0.28) !important;
  }

  .mobile-more-action {
    width: 3.1rem;
  }

  .mobile-action-backdrop {
    position: fixed;
    inset: 0;
    z-index: 110;
    background: rgba(0,0,0,0.45);
    display: grid;
    align-items: end;
  }

  .mobile-action-sheet {
    margin: 0.75rem;
    padding: 0.7rem;
    border-radius: 1.1rem;
    border: 1px solid rgba(216,180,254,0.22);
    background: rgba(16,13,24,0.98);
    box-shadow: 0 -24px 70px rgba(0,0,0,0.55);
  }

  .mobile-action-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.2rem 0.15rem 0.6rem;
  }

  .mobile-action-head h3 {
    margin: 0;
    font-size: 1rem;
  }

  .mobile-action-list {
    display: grid;
    gap: 0.38rem;
  }

  .mobile-action-list button {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 2.65rem;
    padding: 0.4rem 0.7rem;
    border-radius: 0.78rem;
    border: 1px solid rgba(216,180,254,0.13);
    background: rgba(255,255,255,0.025);
    color: rgba(248,246,255,0.88);
    text-align: left;
  }

  .mobile-action-list button.danger {
    color: rgba(252,165,165,0.92);
    border-color: rgba(239,68,68,0.22);
  }
}


@media (max-width: 640px) {
  html,
  body {
    touch-action: manipulation;
    -webkit-text-size-adjust: 100%;
  }

  body.mobile-lens .viewer-brand-link-slot,
  body.mobile-lens .brand-mark,
  body.mobile-lens .viewer-brand,
  body.mobile-lens .brand {
    position: relative !important;
    overflow: visible !important;
  }

  body.mobile-lens .viewer-brand-link-slot::after,
  body.mobile-lens .brand-mark::after {
    content: "T";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: rgba(255,255,255,0.96);
    font-weight: 900;
    font-size: 1.28rem;
    line-height: 1;
    text-shadow: 0 0 10px rgba(255,255,255,0.34);
    pointer-events: none;
  }

  body.mobile-lens .viewer-brand-link-img:not([src]),
  body.mobile-lens .brand-mark img:not([src]) {
    display: none !important;
  }

  body.mobile-lens .topbar,
  body.mobile-lens .topbar.compact,
  body.mobile-lens .topbar-foundation,
  body.mobile-lens .topbar-shell,
  body.mobile-lens .topbar-layout,
  body.mobile-lens .topbar-actions,
  body.mobile-lens .topbar-branded {
    max-width: 100vw !important;
  }

  .mobile-global-actions-host {
    pointer-events: none;
  }

  .mobile-global-actions-host .mobile-fab,
  .mobile-global-actions-host .mobile-fab-sheet {
    pointer-events: auto;
  }

  .mobile-fab {
    touch-action: manipulation;
  }
}


@media (max-width: 640px) {
  body.mobile-chrome,
  body.mobile-lens {
    --mobile-appbar-height: 2.45rem;
  }

  .mobile-brand-orb {
    position: relative !important;
    isolation: isolate !important;
  }

  .mobile-brand-fallback {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    color: rgba(255,255,255,0.98) !important;
    font-weight: 950 !important;
    font-size: 1.18rem !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
    text-shadow: 0 0 12px rgba(255,255,255,0.34), 0 0 20px rgba(216,180,254,0.28) !important;
    pointer-events: none !important;
    z-index: 5 !important;
  }

  body.mobile-chrome .topbar,
  body.mobile-chrome .topbar.compact,
  body.mobile-chrome .topbar-foundation,
  body.mobile-chrome .topbar-shell,
  body.mobile-chrome .topbar-layout,
  body.mobile-chrome .topbar-actions,
  body.mobile-chrome .topbar-branded {
    height: var(--mobile-appbar-height) !important;
    min-height: var(--mobile-appbar-height) !important;
    max-height: var(--mobile-appbar-height) !important;
    padding: 0.18rem 0.45rem !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.35rem !important;
    border-radius: 999px !important;
  }

  body.mobile-chrome .topbar > *:not(:first-child):not(.mobile-keep),
  body.mobile-chrome .workspace-top-actions-layout,
  body.mobile-chrome .workspace-top-actions-toolbar,
  body.mobile-chrome .top-actions {
    display: none !important;
  }

  body.mobile-chrome .viewer-brand-link-slot,
  body.mobile-chrome .brand-mark,
  body.mobile-chrome .viewer-brand,
  body.mobile-chrome .brand,
  body.mobile-chrome .mobile-brand-orb {
    width: 2.05rem !important;
    min-width: 2.05rem !important;
    max-width: 2.05rem !important;
    height: 2.05rem !important;
    min-height: 2.05rem !important;
    max-height: 2.05rem !important;
    margin: 0 !important;
  }

  body.mobile-chrome .workspace-header,
  body.mobile-chrome .workspace-top,
  body.mobile-chrome .workspace-title-row {
    display: block !important;
    padding: 0.55rem 0.72rem 0.42rem !important;
    min-height: auto !important;
  }

  body.mobile-chrome .workspace-header h1,
  body.mobile-chrome .workspace-header h2,
  body.mobile-chrome .workspace-header h3,
  body.mobile-chrome .workspace-title,
  body.mobile-chrome .workspace-name {
    font-size: 0.88rem !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.mobile-chrome .workspace-actions,
  body.mobile-chrome .workspace-toolbar-actions,
  body.mobile-chrome .workspace-header-actions,
  body.mobile-chrome .workspace-controls,
  body.mobile-chrome .workspace-stats,
  body.mobile-chrome .workspace-badges {
    display: none !important;
  }

  body.mobile-chrome .workspace > .toolbar,
  body.mobile-chrome .workspace > .workspace-toolbar,
  body.mobile-chrome .workspace > .workspace-action-row,
  body.mobile-chrome .workspace > .button-row,
  body.mobile-chrome .workspace > .icon-row {
    display: none !important;
  }

  body.mobile-chrome .workspace-source-tabs,
  body.mobile-chrome .source-tabs,
  body.mobile-chrome .workspace-sources {
    padding: 0.32rem 0.55rem !important;
    min-height: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    scrollbar-width: none !important;
  }

  body.mobile-chrome .workspace-source-tabs::-webkit-scrollbar,
  body.mobile-chrome .source-tabs::-webkit-scrollbar,
  body.mobile-chrome .workspace-sources::-webkit-scrollbar {
    display: none !important;
  }

  body.mobile-chrome .source-pill,
  body.mobile-chrome .workspace-source-pill,
  body.mobile-chrome .source-chip {
    min-height: 1.7rem !important;
    padding-block: 0.18rem !important;
    font-size: 0.72rem !important;
  }

  body.mobile-chrome .feed-toolbar.discovery,
  body.mobile-chrome .feed-toolbar.discovery.feed-toolbar-foundation,
  body.mobile-chrome .feed-toolbar.discovery.feed-toolbar-shell,
  body.mobile-chrome .feed-toolbar.discovery.feed-toolbar-layout,
  body.mobile-chrome .lineage-toolbar,
  body.mobile-chrome .lineage-search-wrap {
    padding: 0.4rem 0.55rem !important;
    gap: 0.38rem !important;
  }

  body.mobile-chrome .feed-mode .kicker-inline,
  body.mobile-chrome .lineage-mode-label,
  body.mobile-chrome .mode-kicker {
    display: none !important;
  }

  body.mobile-chrome .search-box {
    height: 1.95rem !important;
    min-height: 1.95rem !important;
    font-size: 0.78rem !important;
  }

  body.mobile-chrome .search-box input {
    font-size: 0.78rem !important;
  }

  body.mobile-chrome .post-feed {
    padding-top: 0.35rem !important;
    padding-bottom: 4.8rem !important;
  }

  body.mobile-chrome footer,
  body.mobile-chrome .app-footer,
  body.mobile-chrome .powered-by,
  body.mobile-chrome .viewer-footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 40 !important;
    height: 1.35rem !important;
    min-height: 1.35rem !important;
    padding: 0.12rem 0.35rem !important;
    font-size: 0.62rem !important;
    opacity: 0.44 !important;
    pointer-events: none !important;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,0.55)) !important;
  }
}


@media (max-width: 640px) {
  /* Header/chrome hides after the near-top threshold and returns only at the top boundary. */
  body.mobile-chrome .topbar,
  body.mobile-chrome .topbar.compact,
  body.mobile-chrome .topbar-foundation,
  body.mobile-chrome .topbar-shell,
  body.mobile-chrome .topbar-layout,
  body.mobile-chrome .topbar-actions,
  body.mobile-chrome .topbar-branded,
  body.mobile-chrome .workspace-header,
  body.mobile-chrome .workspace-top,
  body.mobile-chrome .workspace-title-row {
    transition:
      transform 180ms ease,
      opacity 140ms ease,
      max-height 180ms ease,
      padding 180ms ease,
      margin 180ms ease !important;
  }

  body.mobile-reading .topbar,
  body.mobile-reading .topbar.compact,
  body.mobile-reading .topbar-foundation,
  body.mobile-reading .topbar-shell,
  body.mobile-reading .topbar-layout,
  body.mobile-reading .topbar-actions,
  body.mobile-reading .topbar-branded {
    transform: translateY(-130%) scale(0.98) !important;
    opacity: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    pointer-events: none !important;
  }

  body.mobile-reading .workspace-header,
  body.mobile-reading .workspace-top,
  body.mobile-reading .workspace-title-row {
    max-height: 0 !important;
    min-height: 0 !important;
    opacity: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* Micro badges: preserve signal but reduce footprint. */
  body.mobile-chrome .post-chips {
    gap: 0.24rem !important;
  }

  body.mobile-chrome .post-chips .badge-soft,
  body.mobile-chrome .post-chips .muted-chip,
  body.mobile-chrome .post-chips .badge-schema {
    min-height: 1.22rem !important;
    padding: 0.16rem 0.38rem !important;
    font-size: 0.62rem !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    max-width: 8rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mobile-chrome .post-chips .badge-soft i {
    font-size: 0.62rem !important;
    margin-right: 0.16rem !important;
  }

  /* Make the two visible card actions actually compact and useful. */
  .mobile-card-actions {
    grid-template-columns: minmax(0, 1fr) 2.9rem !important;
    gap: 0.34rem !important;
    padding: 0.36rem 0.5rem !important;
  }

  .mobile-card-actions button {
    height: 2.05rem !important;
    min-height: 2.05rem !important;
  }

  .mobile-action-sheet {
    max-height: min(70vh, 32rem);
    overflow: auto;
  }

  .mobile-action-list button {
    touch-action: manipulation;
  }
}


@media (max-width: 640px) {
  /* Reading mode hides all transient workspace chrome, not only the top logo. */
  body.mobile-reading .workspace-source-tabs,
  body.mobile-reading .source-tabs,
  body.mobile-reading .workspace-sources,
  body.mobile-reading .feed-toolbar.discovery,
  body.mobile-reading .feed-toolbar.discovery.feed-toolbar-foundation,
  body.mobile-reading .feed-toolbar.discovery.feed-toolbar-shell,
  body.mobile-reading .feed-toolbar.discovery.feed-toolbar-layout,
  body.mobile-reading .lineage-toolbar,
  body.mobile-reading .lineage-search-wrap,
  body.mobile-reading .preview-filter-bar {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-width: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    transition: max-height 180ms ease, opacity 140ms ease, padding 180ms ease, margin 180ms ease !important;
  }

  /* If only one source exists, source row is mostly redundant on mobile. */
  body.mobile-chrome .workspace.single-source .workspace-source-tabs,
  body.mobile-chrome .workspace.single-source .source-tabs,
  body.mobile-chrome .workspace.single-source .workspace-sources {
    min-height: 0 !important;
    max-height: 2.2rem !important;
    padding: 0.24rem 0.5rem !important;
  }

  .mobile-hoisted-mode {
    margin-left: auto !important;
    flex: 0 0 auto !important;
  }

  body.mobile-chrome .workspace-source-tabs,
  body.mobile-chrome .source-tabs,
  body.mobile-chrome .workspace-sources {
    display: flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
  }

  /* One-line badge rail with important chips first. */
  body.mobile-chrome .post-chips {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    gap: 0.22rem !important;
    align-items: center !important;
  }

  body.mobile-chrome .post-chips .badge-soft,
  body.mobile-chrome .post-chips .muted-chip,
  body.mobile-chrome .post-chips .badge-schema {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 7.6rem !important;
    min-height: 1.14rem !important;
    padding: 0.14rem 0.34rem !important;
    font-size: 0.58rem !important;
    line-height: 1 !important;
  }

  

  

  

  .mobile-chip-more {
    flex: 0 0 auto !important;
    border: 1px solid rgba(216,180,254,0.2);
    background: rgba(255,255,255,0.025);
    color: rgba(248,246,255,0.76);
  }

  .mobile-action-list button i {
    width: 1.2rem !important;
    text-align: center !important;
    flex: 0 0 1.2rem !important;
  }

  .mobile-action-list button span {
    min-width: 0;
  }

  .mobile-fab-sheet button {
    touch-action: manipulation;
  }
}


/* Source pills + Feed/Tree share one row when both exist. Desktop and mobile. */
.source-mode-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  min-width: 0 !important;
}

.source-mode-row > :not(.source-row-mode-toggle) {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

.source-row-mode-toggle {
  margin-left: auto !important;
  flex: 0 0 auto !important;
  justify-self: end !important;
}

/* If only one source chip exists, don't let it monopolize a row. */
.source-mode-row .source-pill,
.source-mode-row .workspace-source-pill,
.source-mode-row .source-chip {
  max-width: min(18rem, 58vw) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Mobile badges: readable, still constrained. */
@media (max-width: 640px) {
  body.mobile-chrome .post-chips {
    gap: 0.26rem !important;
    min-height: 1.42rem !important;
  }

  body.mobile-chrome .post-chips .badge-soft,
  body.mobile-chrome .post-chips .muted-chip,
  body.mobile-chrome .post-chips .badge-schema {
    min-height: 1.34rem !important;
    padding: 0.2rem 0.44rem !important;
    font-size: 0.66rem !important;
    line-height: 1 !important;
    max-width: 8.8rem !important;
  }

  body.mobile-chrome .post-chips .badge-soft i,
  body.mobile-chrome .post-chips .muted-chip i,
  body.mobile-chrome .post-chips .badge-schema i {
    font-size: 0.66rem !important;
    margin-right: 0.18rem !important;
  }

  .mobile-chip-more {
    min-width: 1.65rem !important;
    justify-content: center !important;
  }

  body.mobile-chrome .source-mode-row {
    padding-right: 0.42rem !important;
  }

  body.mobile-chrome .source-mode-row .source-pill,
  body.mobile-chrome .source-mode-row .workspace-source-pill,
  body.mobile-chrome .source-mode-row .source-chip {
    max-width: calc(100vw - 12.5rem) !important;
  }

  body.mobile-chrome .source-row-mode-toggle {
    transform: scale(0.96);
    transform-origin: right center;
  }

  /* Generic mobile dialog compact pass.
     This intentionally targets common modal names from the viewer generations. */
  body.mobile-chrome .modal-card,
  body.mobile-chrome .modal-panel,
  body.mobile-chrome .modal-content,
  body.mobile-chrome .dialog-panel,
  body.mobile-chrome .lightbox-card,
  body.mobile-chrome .source-modal,
  body.mobile-chrome .artifact-modal,
  body.mobile-chrome .workspace-modal,
  body.mobile-chrome .markdown-dialog,
  body.mobile-chrome .mobile-action-sheet {
    width: calc(100vw - 1.1rem) !important;
    max-width: calc(100vw - 1.1rem) !important;
    max-height: calc(100dvh - 1.1rem) !important;
    margin: 0.55rem auto !important;
    border-radius: 1rem !important;
    box-sizing: border-box !important;
  }

  body.mobile-chrome .modal-header,
  body.mobile-chrome .dialog-header,
  body.mobile-chrome .lightbox-head,
  body.mobile-chrome .modal-titlebar,
  body.mobile-chrome .source-modal-header,
  body.mobile-chrome .artifact-modal-header,
  body.mobile-chrome .markdown-dialog-header {
    padding: 0.72rem 0.82rem !important;
    min-height: 0 !important;
  }

  body.mobile-chrome .modal-header h1,
  body.mobile-chrome .modal-header h2,
  body.mobile-chrome .dialog-header h1,
  body.mobile-chrome .dialog-header h2,
  body.mobile-chrome .lightbox-head h1,
  body.mobile-chrome .lightbox-head h2,
  body.mobile-chrome .modal-title,
  body.mobile-chrome .modal-title-lite {
    font-size: 1.05rem !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
  }

  body.mobile-chrome .modal-header p,
  body.mobile-chrome .dialog-header p,
  body.mobile-chrome .lightbox-head p,
  body.mobile-chrome .modal-subtitle,
  body.mobile-chrome .modal-copy,
  body.mobile-chrome .source-modal-copy,
  body.mobile-chrome .artifact-modal-copy {
    font-size: 0.86rem !important;
    line-height: 1.35 !important;
    margin-top: 0.25rem !important;
  }

  body.mobile-chrome .modal-body,
  body.mobile-chrome .dialog-body,
  body.mobile-chrome .lightbox-body,
  body.mobile-chrome .source-modal-body,
  body.mobile-chrome .artifact-modal-body,
  body.mobile-chrome .markdown-dialog-body {
    padding: 0.72rem 0.82rem !important;
    max-height: calc(100dvh - 9rem) !important;
    overflow: auto !important;
  }

  body.mobile-chrome .modal-actions,
  body.mobile-chrome .dialog-actions,
  body.mobile-chrome .source-modal-actions,
  body.mobile-chrome .artifact-modal-actions,
  body.mobile-chrome .markdown-dialog-actions,
  body.mobile-chrome .wizard-footer,
  body.mobile-chrome .wizard-actions {
    padding: 0.58rem 0.72rem !important;
    gap: 0.45rem !important;
    position: sticky !important;
    bottom: 0 !important;
    background: rgba(13,10,20,0.94) !important;
    backdrop-filter: blur(14px) !important;
    z-index: 5 !important;
  }

  body.mobile-chrome .modal-actions .tv-btn,
  body.mobile-chrome .dialog-actions .tv-btn,
  body.mobile-chrome .source-modal-actions .tv-btn,
  body.mobile-chrome .artifact-modal-actions .tv-btn,
  body.mobile-chrome .wizard-actions .tv-btn,
  body.mobile-chrome .modal-actions button,
  body.mobile-chrome .dialog-actions button,
  body.mobile-chrome .source-modal-actions button,
  body.mobile-chrome .artifact-modal-actions button,
  body.mobile-chrome .wizard-actions button {
    min-height: 2.45rem !important;
  }

  body.mobile-chrome .source-option-grid,
  body.mobile-chrome .artifact-schema-grid,
  body.mobile-chrome .wizard-schema-grid,
  body.mobile-chrome .modal-grid,
  body.mobile-chrome .form-grid,
  body.mobile-chrome .field-grid {
    grid-template-columns: 1fr !important;
  }

  body.mobile-chrome textarea,
  body.mobile-chrome input,
  body.mobile-chrome select {
    font-size: 0.92rem !important;
  }

  body.mobile-chrome .source-option-card,
  body.mobile-chrome .artifact-schema-card,
  body.mobile-chrome .wizard-schema-card,
  body.mobile-chrome .form-card,
  body.mobile-chrome .relation-card {
    padding: 0.72rem !important;
    min-height: 0 !important;
  }
}

@media (max-width: 380px) {
  body.mobile-chrome .post-chips .badge-soft,
  body.mobile-chrome .post-chips .muted-chip,
  body.mobile-chrome .post-chips .badge-schema {
    font-size: 0.62rem !important;
    max-width: 7.2rem !important;
  }

  body.mobile-chrome .source-mode-row .source-pill,
  body.mobile-chrome .source-mode-row .workspace-source-pill,
  body.mobile-chrome .source-mode-row .source-chip {
    max-width: calc(100vw - 11.5rem) !important;
  }
}


@media (max-width: 640px) {
  /* Single-source workspaces do not need a visible source chip row on mobile. */
  body.mobile-chrome .workspace.mobile-single-source .workspace-source-tabs,
  body.mobile-chrome .workspace.mobile-single-source .source-tabs,
  body.mobile-chrome .workspace.mobile-single-source .workspace-sources {
    display: none !important;
  }

  /* Badge rail: fewer, readable, no overflow into the card. */
  body.mobile-chrome .post-chips {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    gap: 0.28rem !important;
    align-items: center !important;
    max-width: 100% !important;
    min-height: 1.46rem !important;
  }

  body.mobile-chrome .post-chips .badge-soft,
  body.mobile-chrome .post-chips .muted-chip,
  body.mobile-chrome .post-chips .badge-schema {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 8.4rem !important;
    min-height: 1.36rem !important;
    padding: 0.2rem 0.46rem !important;
    font-size: 0.66rem !important;
    line-height: 1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mobile-chrome .post-chips .badge-soft i,
  body.mobile-chrome .post-chips .muted-chip i,
  body.mobile-chrome .post-chips .badge-schema i {
    flex: 0 0 auto !important;
  }

  .mobile-chip-hidden {
    display: none !important;
  }

  .post-chips.mobile-chip-expanded {
    flex-wrap: wrap !important;
    overflow: visible !important;
  }

  .post-chips.mobile-chip-expanded .mobile-chip-hidden {
    display: inline-flex !important;
  }

  .mobile-chip-more {
    flex: 0 0 auto !important;
    min-width: 1.72rem !important;
    justify-content: center !important;
    border: 1px solid rgba(216,180,254,0.2) !important;
    background: rgba(255,255,255,0.025) !important;
    color: rgba(248,246,255,0.76) !important;
  }

  /* Wizard type menus: compact list rows instead of tall explanation cards. */
  body.mobile-chrome .wizard-schema-grid,
  body.mobile-chrome .artifact-schema-grid {
    grid-template-columns: 1fr !important;
    gap: 0.42rem !important;
  }

  body.mobile-chrome .wizard-schema-card,
  body.mobile-chrome .artifact-schema-card,
  body.mobile-chrome .schema-card,
  body.mobile-chrome .wizard-schema-grid > button,
  body.mobile-chrome .artifact-schema-grid > button {
    min-height: 2.75rem !important;
    padding: 0.52rem 0.65rem !important;
    display: grid !important;
    grid-template-columns: 1.65rem minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 0.55rem !important;
    text-align: left !important;
  }

  body.mobile-chrome .wizard-schema-card i,
  body.mobile-chrome .artifact-schema-card i,
  body.mobile-chrome .schema-card i {
    grid-column: 1 !important;
    margin: 0 !important;
    font-size: 0.95rem !important;
  }

  body.mobile-chrome .wizard-schema-card h3,
  body.mobile-chrome .artifact-schema-card h3,
  body.mobile-chrome .schema-card h3,
  body.mobile-chrome .wizard-schema-card strong,
  body.mobile-chrome .artifact-schema-card strong,
  body.mobile-chrome .schema-card strong {
    grid-column: 2 !important;
    margin: 0 !important;
    font-size: 0.96rem !important;
    line-height: 1.1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mobile-chrome .wizard-schema-card p,
  body.mobile-chrome .artifact-schema-card p,
  body.mobile-chrome .schema-card p,
  body.mobile-chrome .wizard-schema-card small,
  body.mobile-chrome .artifact-schema-card small,
  body.mobile-chrome .schema-card small,
  body.mobile-chrome .wizard-schema-card .schema-description,
  body.mobile-chrome .artifact-schema-card .schema-description,
  body.mobile-chrome .schema-card .schema-description {
    display: none !important;
  }

  body.mobile-chrome .artifact-wizard-panel .relation-card,
  body.mobile-chrome .artifact-wizard-panel .wizard-selected-type-strip {
    padding: 0.55rem 0.65rem !important;
    min-height: 0 !important;
  }

  body.mobile-chrome .artifact-wizard-panel .relation-card p,
  body.mobile-chrome .artifact-wizard-panel .wizard-selected-type-strip p {
    font-size: 0.82rem !important;
    line-height: 1.25 !important;
  }

  body.mobile-chrome .artifact-wizard-panel .modal-header,
  body.mobile-chrome .artifact-wizard-panel .artifact-modal-header,
  body.mobile-chrome .artifact-wizard-panel .dialog-header {
    padding-bottom: 0.52rem !important;
  }
}

@media (max-width: 380px) {
  body.mobile-chrome .post-chips .badge-soft,
  body.mobile-chrome .post-chips .muted-chip,
  body.mobile-chrome .post-chips .badge-schema {
    max-width: 7.4rem !important;
    font-size: 0.62rem !important;
  }

  body.mobile-chrome .wizard-schema-card,
  body.mobile-chrome .artifact-schema-card,
  body.mobile-chrome .schema-card {
    min-height: 2.6rem !important;
  }
}


@media (max-width: 640px) {
  body.mobile-chrome .workspace.single-source-state .workspace-source-tabs,
  body.mobile-chrome .workspace.single-source-state .source-tabs,
  body.mobile-chrome .workspace.single-source-state .workspace-sources,
  body.mobile-chrome .workspace.single-source-state .source-mode-row {
    display: none !important;
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* Fallback: hide the common source chip rail when it contains a single visible source chip.
     Feed/Tree remains in its normal toolbar, so hiding this row should not remove mode switching. */
  body.mobile-chrome .workspace.single-source-state [class*="source"][class*="tab"],
  body.mobile-chrome .workspace.single-source-state [class*="source"][class*="row"] {
    display: none !important;
  }
}


@media (max-width: 640px) {
  /* Hide only the redundant rendered source strip for single-source workspaces.
     Do not hide source-mode rows broadly; Feed/Tree can stay wherever layout puts it. */
  

  /* If an older source/mode row exists, hide only the source chips inside it and
     preserve the mode toggle surface. */
  .workspace.single-source-state .source-mode-row {
    display: flex !important;
  }

  .workspace.single-source-state .source-mode-row .source-pill,
  .workspace.single-source-state .source-mode-row .workspace-source-pill,
  .workspace.single-source-state .source-mode-row .source-chip {
    display: none !important;
  }

  .lineage-post .post-main {
    min-width: 0 !important;
  }

  .lineage-post .post-chips {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.24rem !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .lineage-post .post-chips .badge-soft,
  .lineage-post .post-chips .badge-schema,
  .lineage-post .post-chips .material-chip,
  .lineage-post .post-chips .muted-chip,
  .lineage-post .post-chips .source-chip,
  .lineage-post .post-chips .source-badge,
  .lineage-post .post-chips .integrity-chip {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: min(7.4rem, 38vw) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  

  

  

  
}


.mobile-top-rail {
  display: none;
}

@media (max-width: 640px) {
  body.mobile-top-rail-mounted .topbar,
  body.mobile-top-rail-mounted .topbar.compact,
  body.mobile-top-rail-mounted .topbar-foundation,
  body.mobile-top-rail-mounted .topbar-shell,
  body.mobile-top-rail-mounted .topbar-layout,
  body.mobile-top-rail-mounted .topbar-actions,
  body.mobile-top-rail-mounted .topbar-branded,
  body.mobile-top-rail-mounted .workspace-pager,
  body.mobile-top-rail-mounted .workspace-pager.workspace-pager {
    display: none !important;
  }

  .mobile-top-rail {
    display: grid;
    grid-template-columns: 2.25rem 2.25rem minmax(2.45rem, 1fr) 2.25rem 2.25rem;
    align-items: center;
    gap: 0.38rem;
    width: min(100%, 22rem);
    margin: 0 auto 0.38rem;
    padding: 0.24rem 0.36rem;
    border-radius: 999px;
    border: 1px solid rgba(216,180,254,0.18);
    background: rgba(18,15,27,0.68);
    box-shadow: 0 10px 30px rgba(0,0,0,0.26), inset 0 1px 0 rgba(255,255,255,0.04);
    backdrop-filter: blur(16px);
    position: sticky;
    top: 0.2rem;
    z-index: 82;
  }

  .mobile-rail-btn {
    width: 2.18rem;
    height: 2.18rem;
    min-width: 2.18rem;
    min-height: 2.18rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(216,180,254,0.20);
    background: rgba(255,255,255,0.035);
    color: rgba(248,246,255,0.86);
    padding: 0;
    touch-action: manipulation;
  }

  .mobile-rail-btn[disabled] {
    opacity: 0.33;
    pointer-events: none;
  }

  .mobile-rail-create {
    color: rgba(255,255,255,0.96);
    border-color: rgba(168,85,247,0.52);
    background: linear-gradient(135deg, rgba(168,85,247,0.34), rgba(88,28,135,0.24));
  }

  .mobile-rail-copy {
    border-color: rgba(216,180,254,0.22);
  }

  .mobile-rail-brand {
    display: grid;
    place-items: center;
    min-width: 0;
    overflow: visible;
  }

  .mobile-rail-brand .viewer-brand,
  .mobile-rail-brand .brand-inline,
  .mobile-rail-brand .viewer-brand-link {
    display: inline-grid !important;
    place-items: center !important;
    width: 2.55rem !important;
    min-width: 2.55rem !important;
    height: 2.55rem !important;
    min-height: 2.55rem !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }

  .mobile-rail-brand .viewer-brand-link-slot,
  .mobile-rail-brand .mobile-brand-orb {
    width: 2.55rem !important;
    min-width: 2.55rem !important;
    max-width: 2.55rem !important;
    height: 2.55rem !important;
    min-height: 2.55rem !important;
    max-height: 2.55rem !important;
    margin: 0 !important;
  }

  .mobile-rail-brand .brand-label {
    display: none !important;
  }

  .workspace.single-source-state .workspace-source-strip,
  body.mobile-chrome .workspace.single-source-state .workspace-source-strip,
  body.mobile-lens .workspace.single-source-state .workspace-source-strip {
    display: none !important;
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  

  
}


@media (max-width: 640px) {
  .mobile-top-rail {
    grid-template-columns: minmax(2.2rem, 1fr) 2.18rem 2.55rem 2.18rem minmax(2.2rem, 1fr) !important;
    gap: 0.24rem !important;
    padding-inline: 0.48rem !important;
  }

  .mobile-rail-page:first-child {
    justify-self: start !important;
  }

  .mobile-rail-create {
    justify-self: end !important;
  }

  .mobile-rail-copy {
    justify-self: start !important;
  }

  .mobile-rail-page:last-child {
    justify-self: end !important;
  }

  .lineage-post .post-chips {
    flex-wrap: nowrap !important;
    overflow: hidden !important;
  }

  .lineage-post .post-chips.mobile-chip-expanded {
    flex-wrap: wrap !important;
    overflow: visible !important;
  }

  .lineage-post .post-chips .mobile-chip-hidden {
    display: none !important;
  }

  .lineage-post .post-chips.mobile-chip-expanded .mobile-chip-hidden {
    display: inline-flex !important;
  }

  .lineage-post .post-chips.mobile-chip-expanded .mobile-chip-more {
    display: none !important;
  }

  .lineage-post .post-chips .mobile-chip-more {
    flex: 0 0 auto !important;
    min-width: 1.72rem !important;
    max-width: 2.5rem !important;
    justify-content: center !important;
  }
}


@media (max-width: 640px) {
  .mobile-source-mode-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.5rem;
    padding: 0.42rem 0.62rem 0.12rem;
  }

  .mobile-source-mode-row .workspace-source-strip {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.34rem !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .mobile-source-mode-row .workspace-source-pill {
    max-width: min(10.5rem, 56vw) !important;
  }

  .mobile-source-mode-row .workspace-source-pill > span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .mobile-source-mode-row .feed-mode {
    justify-self: end !important;
    justify-content: flex-end !important;
    min-width: max-content !important;
    width: auto !important;
  }

  .feed-toolbar.discovery.mobile-tools-only,
  .feed-toolbar.mobile-tools-only {
    grid-template-columns: minmax(0, 1fr) !important;
    padding-top: 0.32rem !important;
  }

  .feed-toolbar.discovery.mobile-tools-only .discovery-tools,
  .feed-toolbar.discovery.mobile-tools-only .discovery-tools-foundation,
  .feed-toolbar.discovery.mobile-tools-only .discovery-tools-layout,
  .feed-toolbar.discovery.mobile-tools-only .tree-toolbar-tools {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }

  .workspace.mobile-chrome-compact .workspace-source-strip,
  .workspace.mobile-chrome-compact .mobile-source-mode-row .workspace-source-strip {
    display: none !important;
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  .workspace.mobile-chrome-compact .mobile-source-mode-row {
    grid-template-columns: minmax(0, 1fr) auto;
    padding-top: 0.18rem !important;
    padding-bottom: 0 !important;
  }

  .workspace.mobile-chrome-compact .mobile-source-mode-row .feed-mode {
    grid-column: 2;
  }
}


@media (max-width: 640px) {
  /* Smaller visual chrome while preserving tap targets through spacing. */
  .mobile-top-rail {
    width: min(100%, 21.25rem) !important;
    grid-template-columns: minmax(2.05rem, 1fr) 2rem 2.32rem 2rem minmax(2.05rem, 1fr) !important;
    padding: 0.18rem 0.4rem !important;
    gap: 0.2rem !important;
  }

  .mobile-rail-btn {
    width: 2rem !important;
    min-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
    font-size: 0.92rem !important;
  }

  .mobile-rail-brand .viewer-brand,
  .mobile-rail-brand .brand-inline,
  .mobile-rail-brand .viewer-brand-link,
  .mobile-rail-brand .viewer-brand-link-slot,
  .mobile-rail-brand .mobile-brand-orb {
    width: 2.32rem !important;
    min-width: 2.32rem !important;
    max-width: 2.32rem !important;
    height: 2.32rem !important;
    min-height: 2.32rem !important;
    max-height: 2.32rem !important;
  }

  /* Keep sources and Feed/Tree on one stable row. The row keeps its vertical slot
     even when sources are hidden on scroll, so the Feed/Tree toggle does not hop
     upward into the workspace title/header. */
  .mobile-source-mode-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 0.44rem !important;
    min-height: 2.36rem !important;
    padding: 0.34rem 0.62rem 0.28rem !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    background: transparent !important;
  }

  .mobile-source-mode-row .feed-mode {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    transform: none !important;
    position: static !important;
    margin: 0 !important;
    z-index: 1 !important;
  }

  .mobile-source-mode-row .workspace-source-strip {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-content: flex-end !important;
    text-align: right !important;
    max-height: 2rem !important;
  }

  .workspace.mobile-chrome-compact .mobile-source-mode-row {
    min-height: 2.36rem !important;
    padding: 0.34rem 0.62rem 0.28rem !important;
  }

  .workspace.mobile-chrome-compact .mobile-source-mode-row .workspace-source-strip {
    display: flex !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 2rem !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    pointer-events: none !important;
  }

  .workspace.mobile-chrome-compact .mobile-source-mode-row .feed-mode {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  /* Empty mobile workspaces should use the empty-state card as the instruction
     surface instead of stacking a separate disclaimer above it. */
  .workspace-drop-hint.workspace-drop-hint-hidden {
    display: none !important;
  }

  .empty-state.empty-state-workspace-instructions {
    text-align: left !important;
    line-height: 1.45 !important;
    padding: 1rem 1.05rem !important;
  }

  /* Keep create-workspace modal actions thumb-friendly without making huge slabs. */
  .create-workspace-panel .create-workspace-actions,
  .create-workspace-modal .create-workspace-actions,
  body.mobile-chrome .create-workspace-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.58rem !important;
    padding-top: 0.72rem !important;
  }

  .create-workspace-panel .create-workspace-actions .tv-btn,
  .create-workspace-modal .create-workspace-actions .tv-btn,
  body.mobile-chrome .create-workspace-actions .tv-btn,
  body.mobile-chrome .create-workspace-panel .tv-btn,
  body.mobile-chrome .create-workspace-modal .tv-btn {
    min-height: 2.85rem !important;
    max-height: 3.05rem !important;
    padding: 0.58rem 0.9rem !important;
    border-radius: 999px !important;
    font-size: 0.92rem !important;
  }
}


@media (max-width: 640px) {
  body.mobile-chrome .workspace-strip.mobile-title-mode-row,
  body.mobile-lens .workspace-strip.mobile-title-mode-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 0.52rem !important;
    min-height: 2.22rem !important;
    padding: 0.48rem 0.72rem 0.42rem !important;
    margin: 0 !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row .workspace-identity,
  body.mobile-lens .workspace-strip.mobile-title-mode-row .workspace-identity {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row .workspace-title,
  body.mobile-lens .workspace-strip.mobile-title-mode-row .workspace-title {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode {
    grid-column: 2 !important;
    justify-self: end !important;
    align-self: center !important;
    margin: 0 !important;
    min-width: max-content !important;
    transform: scale(0.96) !important;
    transform-origin: right center !important;
    position: static !important;
    z-index: 1 !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode .kicker-inline,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode .kicker-inline {
    display: none !important;
  }

  /* With Feed/Tree in the title row, the toolbar becomes tools-only. It should
     not reserve the old Feed/Tree slot, and it disappears entirely for empty workspaces. */
  body.mobile-chrome .feed-toolbar.mobile-tools-only,
  body.mobile-lens .feed-toolbar.mobile-tools-only {
    padding-top: 0.26rem !important;
    padding-bottom: 0.36rem !important;
  }

  body.mobile-chrome .workspace.empty-mobile-workspace > .feed-toolbar,
  body.mobile-lens .workspace.empty-mobile-workspace > .feed-toolbar {
    display: none !important;
  }

  body.mobile-chrome .workspace.empty-mobile-workspace .post-feed,
  body.mobile-lens .workspace.empty-mobile-workspace .post-feed {
    padding-top: 0.58rem !important;
  }

  body.mobile-chrome .workspace.empty-mobile-workspace .empty-state.empty-state-workspace-instructions,
  body.mobile-lens .workspace.empty-mobile-workspace .empty-state.empty-state-workspace-instructions {
    margin-top: 0.38rem !important;
    padding: 1rem 1.1rem !important;
    line-height: 1.42 !important;
  }

  /* The previous stable source/mode slot is no longer needed once Feed/Tree moves to the title row. */
  body.mobile-chrome .mobile-source-mode-row:empty,
  body.mobile-lens .mobile-source-mode-row:empty {
    display: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Create workspace: compact mobile dialog, not a desktop card squeezed into a phone. */
  body.mobile-chrome .create-workspace-panel,
  body.mobile-lens .create-workspace-panel,
  body.mobile-chrome .create-workspace-modal,
  body.mobile-lens .create-workspace-modal {
    width: min(21.5rem, calc(100vw - 1rem)) !important;
    max-width: min(21.5rem, calc(100vw - 1rem)) !important;
    max-height: calc(100dvh - 1.25rem) !important;
    border-radius: 1.05rem !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  body.mobile-chrome .create-workspace-head,
  body.mobile-lens .create-workspace-head {
    padding: 0.82rem 0.92rem 0.68rem !important;
    min-height: 0 !important;
  }

  body.mobile-chrome .create-workspace-head .kicker,
  body.mobile-lens .create-workspace-head .kicker {
    font-size: 0.72rem !important;
    margin: 0 0 0.2rem !important;
  }

  body.mobile-chrome .create-workspace-head .modal-title-lite,
  body.mobile-lens .create-workspace-head .modal-title-lite {
    font-size: 1.08rem !important;
    line-height: 1.08 !important;
    margin: 0 !important;
  }

  body.mobile-chrome .create-workspace-head .text-secondary,
  body.mobile-lens .create-workspace-head .text-secondary {
    font-size: 0.86rem !important;
    line-height: 1.3 !important;
    margin-top: 0.28rem !important;
    max-width: 17rem !important;
  }

  body.mobile-chrome .create-workspace-body,
  body.mobile-lens .create-workspace-body {
    padding: 0.95rem !important;
    overflow: auto !important;
  }

  body.mobile-chrome .create-workspace-body .field-label,
  body.mobile-lens .create-workspace-body .field-label {
    font-size: 0.78rem !important;
    margin-bottom: 0.38rem !important;
  }

  body.mobile-chrome .create-workspace-body input,
  body.mobile-lens .create-workspace-body input {
    min-height: 2.75rem !important;
    padding: 0.7rem 0.85rem !important;
    font-size: 0.9rem !important;
  }

  body.mobile-chrome .create-workspace-body .form-text,
  body.mobile-lens .create-workspace-body .form-text {
    margin-top: 0.55rem !important;
    font-size: 0.86rem !important;
    line-height: 1.36 !important;
  }

  body.mobile-chrome .create-workspace-actions,
  body.mobile-lens .create-workspace-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.55rem !important;
    margin-top: 0.9rem !important;
    padding-top: 0.2rem !important;
  }

  body.mobile-chrome .create-workspace-actions .tv-btn,
  body.mobile-lens .create-workspace-actions .tv-btn,
  body.mobile-chrome .create-workspace-panel .create-workspace-actions .tv-btn,
  body.mobile-lens .create-workspace-panel .create-workspace-actions .tv-btn {
    min-height: 2.7rem !important;
    max-height: 2.9rem !important;
    padding: 0.55rem 0.75rem !important;
    border-radius: 999px !important;
    font-size: 0.9rem !important;
    width: auto !important;
  }
}


@media (max-width: 640px) {
  body.mobile-chrome .create-workspace-sheet-backdrop,
  body.mobile-lens .create-workspace-sheet-backdrop {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0.75rem !important;
    overflow: hidden !important;
    background: rgba(3, 2, 8, 0.72) !important;
    backdrop-filter: blur(8px) !important;
  }

  body.mobile-chrome .create-workspace-sheet,
  body.mobile-lens .create-workspace-sheet {
    width: min(22rem, calc(100vw - 1.25rem)) !important;
    max-width: min(22rem, calc(100vw - 1.25rem)) !important;
    max-height: min(70dvh, 33rem) !important;
    border-radius: 1.35rem !important;
    padding: 0 !important;
    overflow: hidden !important;
    background:
      linear-gradient(180deg, rgba(24, 21, 35, 0.98), rgba(14, 14, 24, 0.99)) !important;
    box-shadow:
      0 1.2rem 3.2rem rgba(0, 0, 0, 0.48),
      0 0 0 1px rgba(216, 180, 254, 0.18) !important;
  }

  body.mobile-chrome .create-workspace-grabber,
  body.mobile-lens .create-workspace-grabber {
    width: 2.4rem !important;
    height: 0.25rem !important;
    border-radius: 999px !important;
    margin: 0.55rem auto 0.2rem !important;
    background: rgba(216, 180, 254, 0.26) !important;
  }

  body.mobile-chrome .create-workspace-sheet .create-workspace-head,
  body.mobile-lens .create-workspace-sheet .create-workspace-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 0.7rem !important;
    align-items: start !important;
    padding: 0.58rem 0.9rem 0.7rem !important;
    border-bottom: 1px solid rgba(216, 180, 254, 0.12) !important;
    background: transparent !important;
  }

  body.mobile-chrome .create-workspace-sheet .kicker,
  body.mobile-lens .create-workspace-sheet .kicker {
    font-size: 0.68rem !important;
    margin: 0 0 0.22rem !important;
    letter-spacing: 0.16em !important;
  }

  body.mobile-chrome .create-workspace-sheet .modal-title-lite,
  body.mobile-lens .create-workspace-sheet .modal-title-lite {
    font-size: 1.05rem !important;
    line-height: 1.12 !important;
    margin: 0 !important;
  }

  body.mobile-chrome .create-workspace-sheet .text-secondary,
  body.mobile-lens .create-workspace-sheet .text-secondary {
    font-size: 0.84rem !important;
    line-height: 1.34 !important;
    margin-top: 0.28rem !important;
    max-width: 15rem !important;
  }

  

  body.mobile-chrome .create-workspace-sheet .create-workspace-body,
  body.mobile-lens .create-workspace-sheet .create-workspace-body {
    padding: 0.85rem 0.9rem 0.95rem !important;
    overflow: auto !important;
  }

  body.mobile-chrome .create-workspace-sheet .field-label,
  body.mobile-lens .create-workspace-sheet .field-label {
    font-size: 0.78rem !important;
    margin-bottom: 0.42rem !important;
  }

  body.mobile-chrome .create-workspace-sheet input,
  body.mobile-lens .create-workspace-sheet input {
    min-height: 2.72rem !important;
    border-radius: 0.72rem !important;
    padding: 0.72rem 0.82rem !important;
    font-size: 0.92rem !important;
  }

  body.mobile-chrome .create-workspace-sheet .form-text,
  body.mobile-lens .create-workspace-sheet .form-text {
    display: flex !important;
    align-items: center !important;
    gap: 0.42rem !important;
    margin: 0.52rem 0 0 !important;
    font-size: 0.8rem !important;
    line-height: 1.3 !important;
    color: rgba(226, 220, 238, 0.68) !important;
  }

  body.mobile-chrome .create-workspace-sheet .create-workspace-actions,
  body.mobile-lens .create-workspace-sheet .create-workspace-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 0.55rem !important;
    margin-top: 0.85rem !important;
    padding: 0 !important;
  }

  body.mobile-chrome .create-workspace-sheet .create-workspace-actions .tv-btn,
  body.mobile-lens .create-workspace-sheet .create-workspace-actions .tv-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 2.75rem !important;
    max-height: 2.9rem !important;
    border-radius: 999px !important;
    padding: 0.58rem 0.7rem !important;
    font-size: 0.9rem !important;
    justify-content: center !important;
  }
}


@media (max-width: 640px) {
  /* Mobile source badges should sit visually with the right-side controls when visible. */
  body.mobile-chrome .workspace:not(.single-source-state) > .workspace-source-strip,
  body.mobile-lens .workspace:not(.single-source-state) > .workspace-source-strip {
    justify-content: flex-end !important;
    text-align: right !important;
  }
}


.workspace.single-source-state > .workspace-source-strip,
.workspace.single-source-state > .mobile-source-mode-row .workspace-source-strip {
  display: none !important;
  max-height: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.mobile-global-actions-host.mobile-global-actions-hidden,
body.mobile-discovery-tree .mobile-global-actions-host {
  display: none !important;
  pointer-events: none !important;
}

@media (max-width: 640px) {
  body.mobile-chrome .create-workspace-sheet-backdrop,
  body.mobile-lens .create-workspace-sheet-backdrop {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0.5rem !important;
    overflow: hidden !important;
    background: rgba(3, 2, 8, 0.72) !important;
    backdrop-filter: blur(8px) !important;
  }

  body.mobile-chrome .create-workspace-sheet,
  body.mobile-lens .create-workspace-sheet {
    width: min(22rem, calc(100vw - 0.8rem)) !important;
    max-width: min(22rem, calc(100vw - 0.8rem)) !important;
    max-height: min(56dvh, 26rem) !important;
    min-height: 18.5rem !important;
    border-radius: 1.35rem 1.35rem 1rem 1rem !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(168, 85, 247, 0.14), transparent 42%),
      linear-gradient(180deg, rgba(24, 21, 35, 0.99), rgba(14, 14, 24, 0.99)) !important;
    box-shadow:
      0 1.3rem 3.4rem rgba(0, 0, 0, 0.5),
      0 0 0 1px rgba(216, 180, 254, 0.18) !important;
  }

  body.mobile-chrome .create-workspace-grabber,
  body.mobile-lens .create-workspace-grabber {
    width: 2.25rem !important;
    height: 0.24rem !important;
    border-radius: 999px !important;
    margin: 0.5rem auto 0.12rem !important;
    background: rgba(216, 180, 254, 0.25) !important;
  }

  body.mobile-chrome .create-workspace-head,
  body.mobile-lens .create-workspace-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 0.65rem !important;
    padding: 0.5rem 0.86rem 0.64rem !important;
    border-bottom: 1px solid rgba(216, 180, 254, 0.12) !important;
  }

  body.mobile-chrome .create-workspace-title-block .kicker,
  body.mobile-lens .create-workspace-title-block .kicker {
    margin: 0 0 0.18rem !important;
    font-size: 0.66rem !important;
    letter-spacing: 0.15em !important;
  }

  body.mobile-chrome .create-workspace-title-block h2,
  body.mobile-lens .create-workspace-title-block h2 {
    margin: 0 !important;
    font-size: 1.08rem !important;
    line-height: 1.1 !important;
    color: rgba(248, 246, 255, 0.96) !important;
  }

  body.mobile-chrome .create-workspace-close,
  body.mobile-lens .create-workspace-close {
    width: 2.35rem !important;
    min-width: 2.35rem !important;
    height: 2.35rem !important;
    min-height: 2.35rem !important;
    border-radius: 999px !important;
    padding: 0 !important;
  }

  body.mobile-chrome .create-workspace-body,
  body.mobile-lens .create-workspace-body {
    padding: 0.85rem 0.86rem 0.3rem !important;
    overflow: auto !important;
  }

  body.mobile-chrome .create-workspace-body .field-label,
  body.mobile-lens .create-workspace-body .field-label {
    font-size: 0.78rem !important;
    margin-bottom: 0.42rem !important;
  }

  body.mobile-chrome .create-workspace-body input,
  body.mobile-lens .create-workspace-body input {
    min-height: 2.8rem !important;
    border-radius: 0.78rem !important;
    padding: 0.76rem 0.86rem !important;
    font-size: 0.95rem !important;
  }

  body.mobile-chrome .create-workspace-hint,
  body.mobile-lens .create-workspace-hint {
    margin: 0.58rem 0 0 !important;
    font-size: 0.8rem !important;
    line-height: 1.32 !important;
    color: rgba(226, 220, 238, 0.62) !important;
  }

  body.mobile-chrome .create-workspace-actions,
  body.mobile-lens .create-workspace-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
    gap: 0.55rem !important;
    padding: 0.72rem 0.86rem calc(0.86rem + env(safe-area-inset-bottom, 0px)) !important;
    background: linear-gradient(180deg, rgba(14,14,24,0), rgba(14,14,24,0.96) 22%) !important;
  }

  body.mobile-chrome .create-workspace-actions .tv-btn,
  body.mobile-lens .create-workspace-actions .tv-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 2.75rem !important;
    max-height: 2.9rem !important;
    border-radius: 999px !important;
    padding: 0.56rem 0.68rem !important;
    justify-content: center !important;
    font-size: 0.9rem !important;
  }
}


.workspace-actions .display-options-action,
.workspace-actions-foundation .display-options-action,
.workspace-actions-shell .display-options-action,
.workspace-actions-toolbar .display-options-action {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
}

.workspace-actions .display-options-action > i,
.workspace-actions-foundation .display-options-action > i,
.workspace-actions-shell .display-options-action > i,
.workspace-actions-toolbar .display-options-action > i {
  font-size: 0.92rem !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.stat-pill.policy.legal-icon-only.pending {
  color: rgba(226, 220, 238, 0.58) !important;
  border-color: rgba(226, 220, 238, 0.18) !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

.stat-pill.policy.legal-icon-only.pending i {
  opacity: 0.82 !important;
}

@media (max-width: 640px) {
  .create-workspace-sheet-backdrop,
  body.mobile-chrome .create-workspace-sheet-backdrop,
  body.mobile-lens .create-workspace-sheet-backdrop {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0.55rem !important;
    background: rgba(3, 2, 8, 0.70) !important;
    backdrop-filter: blur(9px) !important;
  }

  .create-workspace-sheet,
  body.mobile-chrome .create-workspace-sheet,
  body.mobile-lens .create-workspace-sheet {
    width: min(22rem, calc(100vw - 0.9rem)) !important;
    max-width: min(22rem, calc(100vw - 0.9rem)) !important;
    min-height: 0 !important;
    max-height: min(62dvh, 23rem) !important;
    border-radius: 1.35rem 1.35rem 1rem 1rem !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    overflow: hidden !important;
    padding: 0 !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(168, 85, 247, 0.16), transparent 46%),
      linear-gradient(180deg, rgba(23, 20, 34, 0.99), rgba(14, 14, 24, 0.99)) !important;
    box-shadow: 0 1.25rem 3.2rem rgba(0, 0, 0, 0.48), 0 0 0 1px rgba(216, 180, 254, 0.18) !important;
  }

  .create-workspace-grabber {
    width: 2.2rem !important;
    height: 0.24rem !important;
    margin: 0.52rem auto 0.1rem !important;
    border-radius: 999px !important;
    background: rgba(216, 180, 254, 0.25) !important;
  }

  .create-workspace-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    padding: 0.55rem 0.88rem 0.62rem !important;
    border-bottom: 1px solid rgba(216, 180, 254, 0.12) !important;
  }

  .create-workspace-head .kicker {
    margin: 0 0 0.18rem !important;
    font-size: 0.64rem !important;
    letter-spacing: 0.16em !important;
  }

  .create-workspace-head h2 {
    margin: 0 !important;
    font-size: 1.05rem !important;
    line-height: 1.12 !important;
  }

  .create-workspace-close {
    width: 2.25rem !important;
    min-width: 2.25rem !important;
    height: 2.25rem !important;
    min-height: 2.25rem !important;
    padding: 0 !important;
    border-radius: 999px !important;
  }

  .create-workspace-body {
    padding: 0.9rem 0.9rem 0.45rem !important;
    overflow: auto !important;
  }

  .create-workspace-body .field-label {
    margin-bottom: 0.46rem !important;
    font-size: 0.78rem !important;
  }

  .create-workspace-body .tv-input,
  .create-workspace-body input {
    min-height: 2.85rem !important;
    border-radius: 0.78rem !important;
    padding: 0.78rem 0.88rem !important;
    font-size: 0.96rem !important;
  }

  .create-workspace-hint {
    margin: 0.58rem 0 0 !important;
    font-size: 0.8rem !important;
    line-height: 1.32 !important;
    color: rgba(226, 220, 238, 0.62) !important;
  }

  .create-workspace-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
    gap: 0.55rem !important;
    padding: 0.72rem 0.9rem calc(0.9rem + env(safe-area-inset-bottom, 0px)) !important;
    background: linear-gradient(180deg, rgba(14, 14, 24, 0), rgba(14, 14, 24, 0.96) 24%) !important;
  }

  .create-workspace-actions .tv-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 2.75rem !important;
    border-radius: 999px !important;
    justify-content: center !important;
    font-size: 0.9rem !important;
    padding: 0.55rem 0.72rem !important;
  }

  /* Fallback for older create-workspace markup when a browser keeps a stale modal node alive. */
  .create-workspace-backdrop .create-workspace-panel:not(.create-workspace-sheet) {
    width: min(22rem, calc(100vw - 0.9rem)) !important;
    max-width: min(22rem, calc(100vw - 0.9rem)) !important;
    min-height: 0 !important;
    max-height: min(64dvh, 24rem) !important;
    border-radius: 1.35rem 1.35rem 1rem 1rem !important;
  }

  .create-workspace-backdrop .create-workspace-panel:not(.create-workspace-sheet) .text-secondary,
  .create-workspace-backdrop .create-workspace-panel:not(.create-workspace-sheet) .form-text:not(.create-workspace-hint) {
    font-size: 0.82rem !important;
    line-height: 1.34 !important;
  }

  .create-workspace-backdrop .create-workspace-panel:not(.create-workspace-sheet) .create-workspace-actions,
  .create-workspace-backdrop .create-workspace-panel:not(.create-workspace-sheet) .modal-footer-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
    gap: 0.55rem !important;
  }
}


@media (min-width: 761px) {
  .workspace-actions.workspace-actions-shell,
  .workspace-actions.workspace-actions-toolbar {
    align-items: center !important;
    gap: 5px !important;
  }

  .workspace-actions.workspace-actions-shell .stat-pill,
  .workspace-actions.workspace-actions-toolbar .stat-pill,
  .workspace-actions.workspace-actions-shell .tv-btn.small,
  .workspace-actions.workspace-actions-toolbar .tv-btn.small,
  .workspace-actions.workspace-actions-shell .stat-pill.policy.legal-icon-only,
  .workspace-actions.workspace-actions-toolbar .stat-pill.policy.legal-icon-only,
  .workspace-actions.workspace-actions-shell .display-options-action,
  .workspace-actions.workspace-actions-toolbar .display-options-action {
    min-height: 28px !important;
    height: 28px !important;
    font-size: 0.78rem !important;
    line-height: 1 !important;
  }

  .workspace-actions.workspace-actions-shell .tv-btn.small,
  .workspace-actions.workspace-actions-toolbar .tv-btn.small,
  .workspace-actions.workspace-actions-shell .stat-pill.policy.legal-icon-only,
  .workspace-actions.workspace-actions-toolbar .stat-pill.policy.legal-icon-only,
  .workspace-actions.workspace-actions-shell .display-options-action,
  .workspace-actions.workspace-actions-toolbar .display-options-action {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    border-radius: 999px !important;
  }

  .workspace-actions.workspace-actions-shell .stat-pill,
  .workspace-actions.workspace-actions-toolbar .stat-pill {
    padding: 5px 8px !important;
  }

  .workspace-actions.workspace-actions-shell .tv-btn.small > i,
  .workspace-actions.workspace-actions-toolbar .tv-btn.small > i,
  .workspace-actions.workspace-actions-shell .stat-pill.policy.legal-icon-only > i,
  .workspace-actions.workspace-actions-toolbar .stat-pill.policy.legal-icon-only > i,
  .workspace-actions.workspace-actions-shell .display-options-action > i,
  .workspace-actions.workspace-actions-toolbar .display-options-action > i {
    font-size: 0.84rem !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  .workspace-actions.workspace-actions-shell .display-options-action small,
  .workspace-actions.workspace-actions-toolbar .display-options-action small {
    right: -0.18rem !important;
    top: -0.24rem !important;
    min-width: 0.88rem !important;
    height: 0.88rem !important;
    font-size: 0.52rem !important;
  }
}

.feed-toolbar.discovery .discovery-tools:not(.tree-toolbar-tools),
.feed-toolbar.discovery .discovery-tools-foundation:not(.tree-toolbar-tools),
.feed-toolbar.discovery .discovery-tools-layout:not(.tree-toolbar-tools) {
  grid-template-columns: 2.1rem minmax(0, 280px) !important;
  width: min(100%, calc(2.1rem + 0.55rem + 280px)) !important;
  max-width: calc(2.1rem + 0.55rem + 280px) !important;
}

.feed-toolbar.discovery .discovery-tools:not(.tree-toolbar-tools) .search-box,
.feed-toolbar.discovery .discovery-tools-foundation:not(.tree-toolbar-tools) .search-box,
.feed-toolbar.discovery .discovery-tools-layout:not(.tree-toolbar-tools) .search-box {
  grid-column: 2 !important;
}

.feed-toolbar.discovery .tree-toolbar-tools {
  grid-template-columns: 2.1rem 2.1rem minmax(0, 280px) !important;
  width: min(100%, calc(2.1rem + 0.55rem + 2.1rem + 0.55rem + 280px)) !important;
  max-width: calc(2.1rem + 0.55rem + 2.1rem + 0.55rem + 280px) !important;
}

.feed-toolbar.discovery .tree-toolbar-tools .tree-all-toggle {
  grid-column: 1 !important;
}

.feed-toolbar.discovery .tree-toolbar-tools .search-box {
  grid-column: 3 !important;
}

@media (max-width: 640px) {
  .feed-toolbar.discovery .discovery-tools:not(.tree-toolbar-tools),
  .feed-toolbar.discovery .discovery-tools-foundation:not(.tree-toolbar-tools),
  .feed-toolbar.discovery .discovery-tools-layout:not(.tree-toolbar-tools) {
    grid-template-columns: 2.1rem minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: none !important;
  }

  .feed-toolbar.discovery .tree-toolbar-tools {
    grid-template-columns: 2.1rem 2.1rem minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: none !important;
  }
}

.feed-toolbar.discovery .discovery-tools:not(.tree-toolbar-tools),
.feed-toolbar.discovery .discovery-tools-foundation:not(.tree-toolbar-tools),
.feed-toolbar.discovery .discovery-tools-layout:not(.tree-toolbar-tools),
.feed-toolbar.discovery .tree-toolbar-tools {
  grid-template-columns: 2.1rem minmax(0, 280px) !important;
  width: min(100%, calc(2.1rem + 0.55rem + 280px)) !important;
  max-width: calc(2.1rem + 0.55rem + 280px) !important;
}

.feed-toolbar.discovery .tree-toolbar-tools .tree-all-toggle,
.feed-toolbar.discovery .discovery-tools:not(.tree-toolbar-tools) > :first-child,
.feed-toolbar.discovery .discovery-tools-foundation:not(.tree-toolbar-tools) > :first-child,
.feed-toolbar.discovery .discovery-tools-layout:not(.tree-toolbar-tools) > :first-child {
  grid-column: 1 !important;
}

.feed-toolbar.discovery .discovery-tools .search-box,
.feed-toolbar.discovery .discovery-tools-foundation .search-box,
.feed-toolbar.discovery .discovery-tools-layout .search-box,
.feed-toolbar.discovery .tree-toolbar-tools .search-box {
  grid-column: 2 !important;
}

@media (max-width: 640px) {
  .feed-toolbar.discovery .discovery-tools:not(.tree-toolbar-tools),
  .feed-toolbar.discovery .discovery-tools-foundation:not(.tree-toolbar-tools),
  .feed-toolbar.discovery .discovery-tools-layout:not(.tree-toolbar-tools),
  .feed-toolbar.discovery .tree-toolbar-tools {
    grid-template-columns: 2.1rem minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: none !important;
  }
}

.feed-toolbar.discovery .toolbar-display-options {
  position: relative !important;
  flex: 0 0 auto !important;
  width: 2.1rem !important;
  min-width: 2.1rem !important;
  height: 2.1rem !important;
  min-height: 2.1rem !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
}

.feed-toolbar.discovery .toolbar-display-options > i {
  font-size: 0.9rem !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.feed-toolbar.discovery .toolbar-display-options small {
  right: -0.16rem !important;
  top: -0.22rem !important;
  min-width: 0.88rem !important;
  height: 0.88rem !important;
  font-size: 0.52rem !important;
}

.feed-toolbar.discovery .discovery-tools,
.feed-toolbar.discovery .discovery-tools-foundation,
.feed-toolbar.discovery .discovery-tools-layout,
.feed-toolbar.discovery .tree-toolbar-tools {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.55rem !important;
  width: min(100%, 24rem) !important;
  max-width: 24rem !important;
  min-width: 0 !important;
}

.feed-toolbar.discovery .discovery-tools .search-box,
.feed-toolbar.discovery .discovery-tools-foundation .search-box,
.feed-toolbar.discovery .discovery-tools-layout .search-box,
.feed-toolbar.discovery .tree-toolbar-tools .search-box {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}

.feed-toolbar.discovery .tree-all-toggle,
.feed-toolbar.discovery .preview-toggle {
  flex: 0 0 auto !important;
}

@media (max-width: 640px) {
  .feed-toolbar.discovery .discovery-tools,
  .feed-toolbar.discovery .discovery-tools-foundation,
  .feed-toolbar.discovery .discovery-tools-layout,
  .feed-toolbar.discovery .tree-toolbar-tools {
    width: 100% !important;
    max-width: none !important;
  }
}

.discovery-tree.has-folder-add .tree-root-note.root-add,
.discovery-tree.has-folder-add .tree-row.folder-add-row {
  box-sizing: border-box !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 1.85rem !important;
  align-items: center !important;
  column-gap: 0.55rem !important;
}

.discovery-tree.has-folder-add .tree-root-note.root-add > span,
.discovery-tree.has-folder-add .folder-add-row .tree-folder-toggle {
  min-width: 0 !important;
  width: 100% !important;
}

.discovery-tree.has-folder-add .tree-folder-add {
  grid-column: 2 !important;
  justify-self: end !important;
  align-self: center !important;
  margin-left: 0 !important;
}


.discovery-tree.has-folder-add .tree-root-note.root-add .tree-folder-add {
  transform: translateX(-1px) !important;
}


.discovery-tree.has-folder-add .tree-root-note.root-add .tree-folder-add {
  transform: translateX(-2px) !important;
}

/* Keep the right-side search/tool group in the same slot across Discovery and Lineage.
   Discovery has display-options + preview/tree-control + search. Lineage has a hidden
   reserved display-options slot + preview + search, so the preview/search pair no longer
   jumps when entering or leaving Lineage mode. */
.feed-toolbar.discovery .discovery-tools,
.feed-toolbar.discovery .discovery-tools-foundation,
.feed-toolbar.discovery .discovery-tools-layout,
.feed-toolbar.discovery .tree-toolbar-tools,
.feed-toolbar.lineage .lineage-search-wrap {
  display: grid !important;
  grid-template-columns: 2.1rem 2.1rem minmax(0, 280px) !important;
  align-items: center !important;
  gap: 0.55rem !important;
  width: min(100%, calc(2.1rem + 0.55rem + 2.1rem + 0.55rem + 280px)) !important;
  max-width: calc(2.1rem + 0.55rem + 2.1rem + 0.55rem + 280px) !important;
  min-width: 0 !important;
  justify-self: end !important;
  margin-left: 0 !important;
}

.feed-toolbar.discovery .toolbar-display-options {
  grid-column: 1 !important;
  justify-self: center !important;
}

.feed-toolbar.discovery .preview-toggle,
.feed-toolbar.discovery .tree-all-toggle,
.feed-toolbar.discovery .tree-all-toggle.disabled-placeholder {
  grid-column: 2 !important;
  justify-self: center !important;
}

.feed-toolbar.discovery .search-box,
.feed-toolbar.lineage .lineage-search-wrap .search-box {
  grid-column: 3 !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 280px !important;
  min-width: 0 !important;
}

.feed-toolbar.lineage {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

.feed-toolbar.lineage .feed-mode {
  grid-column: 1 !important;
  width: auto !important;
  min-width: max-content !important;
  justify-self: start !important;
  align-self: center !important;
}

.feed-toolbar.lineage .lineage-search-wrap {
  grid-column: 2 !important;
}

.feed-toolbar.lineage .lineage-search-wrap::before {
  content: "";
  grid-column: 1;
  width: 2.1rem;
  height: 2.1rem;
  visibility: hidden;
}

.feed-toolbar.lineage .lineage-search-wrap .preview-toggle {
  grid-column: 2 !important;
  justify-self: center !important;
}

@media (max-width: 640px) {
  .feed-toolbar.discovery .discovery-tools,
  .feed-toolbar.discovery .discovery-tools-foundation,
  .feed-toolbar.discovery .discovery-tools-layout,
  .feed-toolbar.discovery .tree-toolbar-tools,
  .feed-toolbar.lineage .lineage-search-wrap {
    grid-template-columns: 2.1rem 2.1rem minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: none !important;
  }

  .feed-toolbar.lineage {
    grid-template-columns: 1fr !important;
    gap: 0.55rem !important;
  }

  .feed-toolbar.lineage .feed-mode,
  .feed-toolbar.lineage .lineage-search-wrap {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .feed-toolbar.lineage .feed-mode {
    justify-content: space-between !important;
  }

  .feed-toolbar.discovery .search-box,
  .feed-toolbar.lineage .lineage-search-wrap .search-box {
    max-width: none !important;
  }
}


.feed-toolbar.discovery .discovery-tools > .toolbar-display-options,
.feed-toolbar.discovery .discovery-tools-foundation > .toolbar-display-options,
.feed-toolbar.discovery .discovery-tools-layout > .toolbar-display-options,
.feed-toolbar.discovery .tree-toolbar-tools > .toolbar-display-options {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  align-self: center !important;
}

.feed-toolbar.discovery .discovery-tools > .preview-toggle,
.feed-toolbar.discovery .discovery-tools-foundation > .preview-toggle,
.feed-toolbar.discovery .discovery-tools-layout > .preview-toggle,
.feed-toolbar.discovery .tree-toolbar-tools > .preview-toggle,
.feed-toolbar.discovery .discovery-tools > .tree-all-toggle,
.feed-toolbar.discovery .discovery-tools-foundation > .tree-all-toggle,
.feed-toolbar.discovery .discovery-tools-layout > .tree-all-toggle,
.feed-toolbar.discovery .tree-toolbar-tools > .tree-all-toggle,
.feed-toolbar.discovery .tree-toolbar-tools > .tree-all-toggle.disabled-placeholder {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  align-self: center !important;
}

.feed-toolbar.discovery .discovery-tools > .search-box,
.feed-toolbar.discovery .discovery-tools-foundation > .search-box,
.feed-toolbar.discovery .discovery-tools-layout > .search-box,
.feed-toolbar.discovery .tree-toolbar-tools > .search-box,
.feed-toolbar.lineage .lineage-search-wrap > .search-box {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: stretch !important;
  align-self: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 1 1 auto !important;
}

.feed-toolbar.discovery .discovery-tools > .search-box input,
.feed-toolbar.discovery .discovery-tools-foundation > .search-box input,
.feed-toolbar.discovery .discovery-tools-layout > .search-box input,
.feed-toolbar.discovery .tree-toolbar-tools > .search-box input,
.feed-toolbar.lineage .lineage-search-wrap > .search-box input {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
}

.feed-toolbar.lineage .lineage-search-wrap > .preview-toggle {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  align-self: center !important;
}

@media (min-width: 641px) {
  .feed-toolbar.discovery .discovery-tools,
  .feed-toolbar.discovery .discovery-tools-foundation,
  .feed-toolbar.discovery .discovery-tools-layout,
  .feed-toolbar.discovery .tree-toolbar-tools,
  .feed-toolbar.lineage .lineage-search-wrap {
    grid-template-columns: 2.1rem 2.1rem minmax(220px, 280px) !important;
    width: min(100%, calc(2.1rem + 0.55rem + 2.1rem + 0.55rem + 280px)) !important;
    max-width: calc(2.1rem + 0.55rem + 2.1rem + 0.55rem + 280px) !important;
  }
}

@media (max-width: 640px) {
  .feed-toolbar.discovery .discovery-tools,
  .feed-toolbar.discovery .discovery-tools-foundation,
  .feed-toolbar.discovery .discovery-tools-layout,
  .feed-toolbar.discovery .tree-toolbar-tools,
  .feed-toolbar.lineage .lineage-search-wrap {
    grid-template-columns: 2.1rem 2.1rem minmax(0, 1fr) !important;
  }
}

@media (max-width: 640px) {


}


@media (max-width: 640px) {
  body.mobile-chrome .workspace-strip.mobile-title-mode-row,
  body.mobile-lens .workspace-strip.mobile-title-mode-row {
    box-sizing: border-box !important;
    min-height: 2.34rem !important;
    height: 2.34rem !important;
    max-height: 2.34rem !important;
    padding-top: 0.42rem !important;
    padding-bottom: 0.42rem !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row .workspace-title,
  body.mobile-lens .workspace-strip.mobile-title-mode-row .workspace-title {
    line-height: 1.05 !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode {
    box-sizing: border-box !important;
    height: 1.76rem !important;
    min-height: 1.76rem !important;
    max-height: 1.76rem !important;
    align-items: center !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode .view-toggle-btn,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode .view-toggle-btn {
    box-sizing: border-box !important;
    height: 1.56rem !important;
    min-height: 1.56rem !important;
    max-height: 1.56rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
  }
}


@media (max-width: 640px) {
  body.mobile-chrome .workspace-strip.mobile-title-mode-row,
  body.mobile-lens .workspace-strip.mobile-title-mode-row {
    height: 2.42rem !important;
    min-height: 2.42rem !important;
    max-height: 2.42rem !important;
    padding: 0.43rem 0.72rem !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row .workspace-identity,
  body.mobile-lens .workspace-strip.mobile-title-mode-row .workspace-identity,
  body.mobile-chrome .workspace-strip.mobile-title-mode-row .workspace-title,
  body.mobile-lens .workspace-strip.mobile-title-mode-row .workspace-title {
    height: 1.56rem !important;
    min-height: 1.56rem !important;
    max-height: 1.56rem !important;
    line-height: 1.56rem !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode {
    height: 1.58rem !important;
    min-height: 1.58rem !important;
    max-height: 1.58rem !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    justify-self: end !important;
    box-sizing: border-box !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode .view-toggle-btn,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode .view-toggle-btn {
    height: 1.52rem !important;
    min-height: 1.52rem !important;
    max-height: 1.52rem !important;
    line-height: 1 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  body.mobile-chrome .mobile-card-actions,
  body.mobile-lens .mobile-card-actions {
    grid-template-columns: minmax(0, 1fr) 2.9rem !important;
  }

  body.mobile-chrome .mobile-primary-action,
  body.mobile-lens .mobile-primary-action {
    display: none !important;
  }

  body.mobile-chrome .mobile-more-action,
  body.mobile-lens .mobile-more-action {
    grid-column: 2 !important;
    justify-self: stretch !important;
    width: 2.9rem !important;
  }
}


@media (max-width: 640px) {
  body.mobile-chrome .workspace-strip.mobile-title-mode-row,
  body.mobile-lens .workspace-strip.mobile-title-mode-row {
    height: 39px !important;
    min-height: 39px !important;
    max-height: 39px !important;
    padding: 7px 12px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 82px !important;
    column-gap: 8px !important;
    align-items: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    line-height: 1 !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row .workspace-identity,
  body.mobile-lens .workspace-strip.mobile-title-mode-row .workspace-identity,
  body.mobile-chrome .workspace-strip.mobile-title-mode-row .workspace-title,
  body.mobile-lens .workspace-strip.mobile-title-mode-row .workspace-title {
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    line-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    align-self: center !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode,
  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.view-toggle,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.view-toggle {
    grid-column: 2 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 25px !important;
    min-height: 25px !important;
    max-height: 25px !important;
    margin: 0 !important;
    padding: 2px !important;
    gap: 2px !important;
    transform: none !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    contain: layout size !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode .view-toggle-btn,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode .view-toggle-btn {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 21px !important;
    min-height: 21px !important;
    max-height: 21px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    line-height: 21px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode .view-toggle-btn.active,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode .view-toggle-btn.active {
    transform: none !important;
    border-width: 0 !important;
    box-shadow: none !important;
  }
}

@media (max-width: 640px) {


  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions {
    grid-column: 2 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 25px !important;
    min-height: 25px !important;
    max-height: 25px !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .back-button,
  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .audit-lineage-btn,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .back-button,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .audit-lineage-btn {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 25px !important;
    min-height: 25px !important;
    max-height: 25px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    line-height: 1 !important;
    overflow: hidden !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .back-button i,
  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .audit-lineage-btn i,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .back-button i,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .audit-lineage-btn i {
    font-size: 0.82rem !important;
    line-height: 1 !important;
    margin: 0 !important;
  }
}

@media (max-width: 640px) {

}


/* Keep Discovery and Lineage using the same desktop search-rail geometry. The
   Lineage left action group is wider than Discovery's Feed/Tree toggle, so the
   old 280px max input could shrink differently. Use one explicit measured
   desktop width for both rails while preserving the full-width mobile rail. */
@media (min-width: 641px) {


}

@media (max-width: 640px) {


}


/* Keep mobile Discovery and Lineage search rails on the same measured grid.
   Lineage still uses a hidden display-options slot for geometry only; Display
   Options itself remains absent from Lineage for now. */
@media (max-width: 640px) {


  /* Back/Audit should remain readable in mobile instead of becoming a pair of
     unlabeled icon pills. Keep the row compact, but use the desktop labels. */
  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions {
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 7.25rem) !important;
    height: 25px !important;
    min-height: 25px !important;
    max-height: 25px !important;
    gap: 0.35rem !important;
    justify-content: flex-end !important;
    overflow: visible !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .back-button,
  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .audit-lineage-btn,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .back-button,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .audit-lineage-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 25px !important;
    min-height: 25px !important;
    max-height: 25px !important;
    padding: 0 0.55rem !important;
    gap: 0.32rem !important;
    font-size: 0.72rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .back-button i,
  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .audit-lineage-btn i,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .back-button i,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .audit-lineage-btn i {
    font-size: 0.78rem !important;
    line-height: 1 !important;
    margin: 0 !important;
  }
}


@media (max-width: 640px) {


  .workspace.mobile-chrome-compact .feed-toolbar.lineage .search-box,
  .workspace.mobile-chrome-compact .feed-toolbar.lineage .preview-toggle,
  .workspace.mobile-chrome-compact .feed-toolbar.lineage .tree-all-toggle,
  .workspace.mobile-chrome-compact .feed-toolbar.lineage .lineage-display-spacer {
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
  }
}


.create-lineage-backdrop {
  padding: 0.65rem !important;
  overflow: hidden !important;
  align-items: center !important;
}

.create-lineage-head {
  flex: 0 0 auto !important;
  padding: 0.95rem 1.05rem 0.7rem !important;
  border-bottom: 1px solid rgba(216, 180, 254, 0.12) !important;
}

.create-step-pills {
  flex: 0 0 auto !important;
  display: flex !important;
  gap: 0.45rem !important;
  padding: 0.65rem 1.05rem 0.35rem !important;
  align-items: center !important;
}

.create-step-pills span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.34rem !important;
  padding: 0.24rem 0.55rem !important;
  border: 1px solid rgba(216, 180, 254, 0.18) !important;
  border-radius: 999px !important;
  color: var(--muted) !important;
  font-size: 0.8rem !important;
  line-height: 1 !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

.create-step-pills span b {
  display: inline-grid !important;
  place-items: center !important;
  width: 1.2rem !important;
  height: 1.2rem !important;
  border-radius: 999px !important;
  background: rgba(168, 85, 247, 0.32) !important;
  color: #f3e8ff !important;
  font-size: 0.74rem !important;
}

.create-step-pills span.active {
  color: #f4e8ff !important;
  border-color: rgba(216, 180, 254, 0.42) !important;
  background: rgba(168, 85, 247, 0.16) !important;
}

.create-lineage-scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0.55rem 1.05rem 0.9rem !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
}

.create-lineage-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  gap: 0.55rem !important;
  align-items: center !important;
  padding: 0.72rem 1.05rem !important;
  border-top: 1px solid rgba(216, 180, 254, 0.14) !important;
  background: rgba(7, 5, 13, 0.92) !important;
  box-shadow: 0 -18px 34px rgba(0, 0, 0, 0.28) !important;
  z-index: 4 !important;
}

.create-relation-compact,
.create-type-panel,
.create-policy-compact,
.create-placement-compact,
.create-selected-type {
  border: 1px solid rgba(216, 180, 254, 0.16) !important;
  border-radius: 1rem !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

.create-relation-compact {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) minmax(260px, 1.25fr) !important;
  gap: 0.75rem !important;
  align-items: center !important;
  padding: 0.72rem 0.85rem !important;
  margin-bottom: 0.7rem !important;
}

.create-relation-compact > i {
  width: 2.15rem !important;
  height: 2.15rem !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  background: rgba(168, 85, 247, 0.22) !important;
  color: #e9d5ff !important;
}

.create-relation-compact strong,
.create-selected-type strong,
.create-section-head strong {
  color: var(--text) !important;
}

.create-relation-compact p,
.create-section-head p,
.create-policy-compact p,
.create-help {
  margin: 0.12rem 0 0 !important;
  color: var(--muted) !important;
  font-size: 0.88rem !important;
  line-height: 1.25 !important;
}

.create-relation-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.45rem !important;
}

.create-relation-grid div {
  padding: 0.42rem 0.55rem !important;
  border-radius: 0.72rem !important;
  background: rgba(0, 0, 0, 0.18) !important;
  border: 1px solid rgba(216, 180, 254, 0.1) !important;
}

.create-relation-grid small {
  display: block !important;
  color: var(--muted) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

.create-relation-grid strong {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 0.88rem !important;
}

.create-type-panel {
  padding: 0.75rem !important;
}

.create-section-head {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.55rem !important;
  margin-bottom: 0.65rem !important;
}

.create-section-head > span {
  width: 1.45rem !important;
  height: 1.45rem !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: rgba(168, 85, 247, 0.28) !important;
  color: #f3e8ff !important;
  flex: 0 0 auto !important;
}

.schema-row-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.52rem !important;
}

.schema-row {
  width: 100% !important;
  min-width: 0 !important;
  text-align: left !important;
  display: grid !important;
  grid-template-columns: 1.55rem minmax(0, 1fr) !important;
  grid-template-areas: "icon label" "icon desc" !important;
  column-gap: 0.6rem !important;
  row-gap: 0.15rem !important;
  align-items: center !important;
  min-height: 4.15rem !important;
  padding: 0.62rem 0.72rem !important;
  border-radius: 0.88rem !important;
  border: 1px solid rgba(216, 180, 254, 0.16) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: var(--text) !important;
  cursor: pointer !important;
}

.schema-row:hover,
.schema-row.selected {
  border-color: rgba(216, 180, 254, 0.62) !important;
  background: rgba(168, 85, 247, 0.18) !important;
}

.schema-row.disabled {
  opacity: 0.48 !important;
  cursor: not-allowed !important;
}

.schema-row > i {
  grid-area: icon !important;
  color: #d8b4fe !important;
  font-size: 1rem !important;
}

.schema-row > span {
  grid-area: label !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

.schema-row > span strong {
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.schema-row > span em {
  color: #e9d5ff !important;
  font-style: normal !important;
  font-size: 0.72rem !important;
  border: 1px solid rgba(216, 180, 254, 0.2) !important;
  border-radius: 999px !important;
  padding: 0.05rem 0.35rem !important;
}

.schema-row > small {
  grid-area: desc !important;
  color: var(--muted) !important;
  line-height: 1.25 !important;
  font-size: 0.8rem !important;
}

.create-warning {
  margin: 0.55rem 0 0 !important;
  color: #fcd34d !important;
  font-size: 0.83rem !important;
}

.create-selected-type {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 0.65rem !important;
  align-items: center !important;
  padding: 0.62rem 0.72rem !important;
  margin-bottom: 0.7rem !important;
}

.create-selected-type > i {
  color: #d8b4fe !important;
}

.create-selected-type span {
  display: block !important;
  color: var(--muted) !important;
  font-size: 0.78rem !important;
}

.create-policy-compact {
  padding: 0.62rem 0.72rem !important;
  margin-bottom: 0.72rem !important;
  color: var(--muted) !important;
}

.create-policy-compact summary {
  cursor: pointer !important;
  color: var(--text) !important;
  font-weight: 700 !important;
}

.create-policy-compact.danger {
  border-color: rgba(248, 113, 113, 0.36) !important;
}

.create-policy-compact label,
.create-checkbox {
  display: flex !important;
  gap: 0.48rem !important;
  align-items: center !important;
  color: var(--muted) !important;
  margin-top: 0.45rem !important;
}

.create-placement-compact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.9fr) !important;
  gap: 0.7rem !important;
  padding: 0.62rem 0.72rem !important;
  margin-bottom: 0.72rem !important;
}

.create-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.72rem !important;
}

.create-form-grid > .field-label,
.create-form-grid > .col-md-6,
.create-form-grid > .col-md-7,
.create-form-grid > .col-md-5,
.create-form-grid > .col-12 {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}

.create-form-grid > .full,
.create-form-grid > .col-12 {
  grid-column: 1 / -1 !important;
}

.create-form-grid textarea.form-control {
  min-height: 5.4rem !important;
}

@media (max-width: 760px) {
  .create-lineage-backdrop {
    padding: 0.34rem !important;
    align-items: flex-end !important;
  }


  .create-lineage-head {
    padding: 0.64rem 0.78rem 0.48rem !important;
  }

  .create-lineage-head .kicker {
    font-size: 0.72rem !important;
    margin-bottom: 0.14rem !important;
  }

  .create-lineage-head .modal-title-lite {
    font-size: 1rem !important;
    line-height: 1.08 !important;
    margin: 0 !important;
  }

  .create-lineage-head .text-secondary {
    max-width: 19rem !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: 0.82rem !important;
    margin-top: 0.16rem !important;
  }

  .create-step-pills {
    padding: 0.46rem 0.78rem 0.24rem !important;
  }

  .create-step-pills span {
    padding: 0.2rem 0.46rem !important;
    font-size: 0.74rem !important;
  }

  .create-step-pills span b {
    width: 1.1rem !important;
    height: 1.1rem !important;
  }

  .create-lineage-scroll {
    padding: 0.4rem 0.68rem 0.62rem !important;
  }

  .create-relation-compact {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.4rem !important;
    padding: 0.52rem 0.58rem !important;
    margin-bottom: 0.52rem !important;
  }

  .create-relation-compact > i {
    display: none !important;
  }

  .create-relation-compact p {
    display: none !important;
  }

  .create-relation-grid {
    grid-template-columns: 1fr !important;
    gap: 0.34rem !important;
  }

  .create-relation-grid div {
    padding: 0.36rem 0.48rem !important;
  }

  .create-type-panel {
    padding: 0.55rem !important;
  }

  .create-section-head {
    gap: 0.45rem !important;
    margin-bottom: 0.48rem !important;
  }

  .create-section-head > span {
    width: 1.32rem !important;
    height: 1.32rem !important;
  }

  .create-section-head p {
    font-size: 0.8rem !important;
    line-height: 1.22 !important;
  }

  .schema-row-list {
    grid-template-columns: 1fr !important;
    gap: 0.38rem !important;
  }

  .schema-row {
    min-height: 2.55rem !important;
    grid-template-areas: "icon label" !important;
    padding: 0.45rem 0.55rem !important;
    border-radius: 0.78rem !important;
  }

  .schema-row > small {
    display: none !important;
  }

  .create-selected-type {
    padding: 0.5rem 0.58rem !important;
    margin-bottom: 0.52rem !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }

  .create-policy-compact,
  .create-placement-compact {
    padding: 0.5rem 0.58rem !important;
    margin-bottom: 0.52rem !important;
  }

  .create-placement-compact,
  .create-form-grid {
    grid-template-columns: 1fr !important;
    gap: 0.58rem !important;
  }

  .create-form-grid textarea.form-control {
    min-height: 4.7rem !important;
  }

  .create-lineage-actions {
    padding: 0.56rem 0.68rem !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.42rem !important;
  }

  .create-lineage-actions .tv-btn {
    width: 100% !important;
    min-height: 2.65rem !important;
    justify-content: center !important;
  }
}


.parent-picker-active .select-parent-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
}

@media (max-width: 760px) {
  .parent-picker-banner {
    position: sticky !important;
    top: calc(env(safe-area-inset-top, 0px) + 0.45rem) !important;
    z-index: 80 !important;
    margin: 0.5rem 0.6rem 0.65rem !important;
    padding: 0.68rem 0.72rem !important;
    border-radius: 0.9rem !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28) !important;
  }

  .parent-picker-banner strong {
    font-size: 0.94rem !important;
    line-height: 1.16 !important;
  }

  .parent-picker-banner p {
    font-size: 0.8rem !important;
    line-height: 1.25 !important;
  }

  .parent-picker-banner .tv-btn {
    width: 100% !important;
    justify-content: center !important;
    min-height: 2.35rem !important;
  }

  .parent-picker-active .lineage-post {
    border-color: rgba(216, 180, 254, 0.28) !important;
  }

  .parent-picker-active .post-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .parent-picker-active .post-actions > *:not(.select-parent-action),
  .parent-picker-active .post-actions .icon-action:not(.select-parent-action),
  .parent-picker-active .post-actions button:not(.select-parent-action) {
    display: none !important;
  }

  .parent-picker-active .select-parent-action {
    width: 100% !important;
    min-height: 2.72rem !important;
    height: 2.72rem !important;
    border-radius: 0.82rem !important;
    font-weight: 700 !important;
  }

  .parent-picker-active .select-parent-action span {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
  }
}

@media (max-width: 640px) {
  /* Mobile header rail parity.
     Discovery and Lineage share the same measured 32px mobile rail geometry so
     the header does not reserve an extra vertical gutter when switching views. */
  body.mobile-chrome .feed-toolbar.discovery,
  body.mobile-lens .feed-toolbar.discovery,
  body.mobile-chrome .feed-toolbar.lineage,
  body.mobile-lens .feed-toolbar.lineage {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
    align-items: center !important;
    align-content: center !important;
    box-sizing: border-box !important;
  }

  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools,
  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools-foundation,
  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools-layout,
  body.mobile-chrome .feed-toolbar.discovery > .tree-toolbar-tools,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools-foundation,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools-layout,
  body.mobile-lens .feed-toolbar.discovery > .tree-toolbar-tools,
  body.mobile-chrome .feed-toolbar.lineage > .lineage-search-wrap,
  body.mobile-lens .feed-toolbar.lineage > .lineage-search-wrap {
    display: grid !important;
    grid-template-columns: 2rem 2rem minmax(0, 1fr) !important;
    align-items: center !important;
    align-content: center !important;
    gap: 0.55rem !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    justify-self: stretch !important;
  }

  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools > .display-options-action,
  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools-foundation > .display-options-action,
  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools-layout > .display-options-action,
  body.mobile-chrome .feed-toolbar.discovery > .tree-toolbar-tools > .display-options-action,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools > .display-options-action,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools-foundation > .display-options-action,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools-layout > .display-options-action,
  body.mobile-lens .feed-toolbar.discovery > .tree-toolbar-tools > .display-options-action,
  body.mobile-chrome .feed-toolbar.lineage > .lineage-search-wrap > .lineage-display-spacer,
  body.mobile-lens .feed-toolbar.lineage > .lineage-search-wrap > .lineage-display-spacer {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: center !important;
    width: 2rem !important;
    min-width: 2rem !important;
    max-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools > .preview-toggle,
  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools > .tree-all-toggle,
  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools-foundation > .preview-toggle,
  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools-foundation > .tree-all-toggle,
  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools-layout > .preview-toggle,
  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools-layout > .tree-all-toggle,
  body.mobile-chrome .feed-toolbar.discovery > .tree-toolbar-tools > .preview-toggle,
  body.mobile-chrome .feed-toolbar.discovery > .tree-toolbar-tools > .tree-all-toggle,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools > .preview-toggle,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools > .tree-all-toggle,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools-foundation > .preview-toggle,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools-foundation > .tree-all-toggle,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools-layout > .preview-toggle,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools-layout > .tree-all-toggle,
  body.mobile-lens .feed-toolbar.discovery > .tree-toolbar-tools > .preview-toggle,
  body.mobile-lens .feed-toolbar.discovery > .tree-toolbar-tools > .tree-all-toggle,
  body.mobile-chrome .feed-toolbar.lineage > .lineage-search-wrap > .preview-toggle,
  body.mobile-chrome .feed-toolbar.lineage > .lineage-search-wrap > .tree-all-toggle,
  body.mobile-lens .feed-toolbar.lineage > .lineage-search-wrap > .preview-toggle,
  body.mobile-lens .feed-toolbar.lineage > .lineage-search-wrap > .tree-all-toggle {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: center !important;
    width: 2rem !important;
    min-width: 2rem !important;
    max-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools > .search-box,
  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools-foundation > .search-box,
  body.mobile-chrome .feed-toolbar.discovery > .discovery-tools-layout > .search-box,
  body.mobile-chrome .feed-toolbar.discovery > .tree-toolbar-tools > .search-box,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools > .search-box,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools-foundation > .search-box,
  body.mobile-lens .feed-toolbar.discovery > .discovery-tools-layout > .search-box,
  body.mobile-lens .feed-toolbar.discovery > .tree-toolbar-tools > .search-box,
  body.mobile-chrome .feed-toolbar.lineage > .lineage-search-wrap > .search-box,
  body.mobile-lens .feed-toolbar.lineage > .lineage-search-wrap > .search-box {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    align-self: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Mobile title-row action sizing.
   Discovery uses a compact Feed/Tree view-toggle; Lineage uses Back/Audit
   actions. Keep the view-toggle compact, but let lineage actions size to their
   content within the viewport. */
@media (max-width: 640px) {
  body.mobile-chrome .workspace-strip.mobile-title-mode-row,
  body.mobile-lens .workspace-strip.mobile-title-mode-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.view-toggle,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.view-toggle {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions,
  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode:not(.view-toggle),
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode:not(.view-toggle) {
    grid-column: 2 !important;
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 11.25rem) !important;
    height: 25px !important;
    min-height: 25px !important;
    max-height: 25px !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0.35rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    contain: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .back-button,
  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .audit-lineage-btn,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .back-button,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode.mobile-lineage-actions .audit-lineage-btn,
  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode:not(.view-toggle) .back-button,
  body.mobile-chrome .workspace-strip.mobile-title-mode-row > .feed-mode:not(.view-toggle) .audit-lineage-btn,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode:not(.view-toggle) .back-button,
  body.mobile-lens .workspace-strip.mobile-title-mode-row > .feed-mode:not(.view-toggle) .audit-lineage-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 25px !important;
    min-height: 25px !important;
    max-height: 25px !important;
    padding: 0 0.55rem !important;
    gap: 0.32rem !important;
    font-size: 0.72rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    contain: none !important;
  }
}


/* Desktop Discovery/Lineage search rail geometry.
   Mobile geometry is handled separately by the max-width:640px rules above.
   Both desktop modes keep the right-side rail in the same visual slot. */
@media (min-width: 641px) {
  .feed-toolbar.discovery,
  .feed-toolbar.discovery.feed-toolbar-foundation,
  .feed-toolbar.discovery.feed-toolbar-shell,
  .feed-toolbar.discovery.feed-toolbar-layout,
  .feed-toolbar.lineage {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 0.75rem !important;
  }

  .feed-toolbar.discovery .discovery-tools,
  .feed-toolbar.discovery .discovery-tools-foundation,
  .feed-toolbar.discovery .discovery-tools-layout,
  .feed-toolbar.discovery .tree-toolbar-tools,
  .feed-toolbar.lineage .lineage-search-wrap {
    display: grid !important;
    grid-template-columns: 2.1rem 2.1rem 15.4rem !important;
    align-items: center !important;
    gap: 0.55rem !important;
    width: calc(2.1rem + 0.55rem + 2.1rem + 0.55rem + 15.4rem) !important;
    max-width: calc(2.1rem + 0.55rem + 2.1rem + 0.55rem + 15.4rem) !important;
    min-width: 0 !important;
    justify-self: end !important;
    margin-left: 0 !important;
  }

  .feed-toolbar.discovery .preview-toggle,
  .feed-toolbar.discovery .tree-all-toggle,
  .feed-toolbar.discovery .tree-all-toggle.disabled-placeholder,
  .feed-toolbar.lineage .lineage-search-wrap .preview-toggle {
    grid-column: 2 !important;
    justify-self: center !important;
  }

  .feed-toolbar.lineage .lineage-search-wrap::before {
    content: "" !important;
    grid-column: 1 !important;
    width: 2.1rem !important;
    height: 2.1rem !important;
    visibility: hidden !important;
  }

  .feed-toolbar.discovery .search-box,
  .feed-toolbar.lineage .lineage-search-wrap .search-box {
    grid-column: 3 !important;
    justify-self: stretch !important;
    width: 15.4rem !important;
    min-width: 15.4rem !important;
    max-width: 15.4rem !important;
    flex: none !important;
  }

  .feed-toolbar.discovery .search-box input,
  .feed-toolbar.lineage .lineage-search-wrap .search-box input {
    min-width: 0 !important;
    width: 100% !important;
  }
}


/* Node action alignment: desktop and mobile use the same action list; desktop stays one row. */
.lineage-post > .post-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0.34rem !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin;
}

.lineage-post > .post-actions > .icon-action {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.lineage-post > .post-actions > .icon-action.compact-tail-action {
  width: 2.25rem !important;
  min-width: 2.25rem !important;
  height: 2.25rem !important;
  padding: 0 !important;
  justify-content: center !important;
  border-radius: 999px !important;
}

.lineage-post > .post-actions > .icon-action.compact-tail-action span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.lineage-post > .post-actions > .icon-action.compact-tail-action i {
  margin: 0 !important;
  font-size: 0.92rem !important;
}

.icon-action.constructive,
.icon-action.edit-action {
  color: rgba(110, 231, 183, 0.98) !important;
  border-color: rgba(16, 185, 129, 0.36) !important;
  background: rgba(6, 78, 59, 0.12) !important;
}

.icon-action.constructive:hover,
.icon-action.constructive:focus-visible,
.icon-action.edit-action:hover,
.icon-action.edit-action:focus-visible {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12) !important;
}

.mobile-action-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 0.65rem !important;
}

.mobile-action-title {
  min-width: 0;
}

.mobile-action-head .mobile-action-close {
  width: 2.2rem !important;
  min-width: 2.2rem !important;
  max-width: 2.2rem !important;
  height: 2.2rem !important;
  min-height: 2.2rem !important;
  max-height: 2.2rem !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
}

.mobile-action-head .mobile-action-close i {
  margin: 0 !important;
}

.mobile-action-list button[disabled] {
  opacity: 0.42;
  cursor: not-allowed;
}


/* Parent-picker selection mode and mobile markdown-review layout. */
.parent-picker-active .icon-action:not(.select-parent-action),
.parent-picker-active .post-action:not(.select-parent-action) {
  display: none !important;
}

.parent-picker-active .post-actions {
  overflow-x: visible !important;
}

.parent-picker-active .select-parent-action {
  color: rgba(110, 231, 183, 0.98) !important;
  border-color: rgba(16, 185, 129, 0.42) !important;
  background: rgba(6, 78, 59, 0.16) !important;
}

@media (max-width: 760px) {
  body.mobile-chrome .markdown-studio-panel {
    height: calc(100dvh - 1.1rem) !important;
    max-height: calc(100dvh - 1.1rem) !important;
  }

  body.mobile-chrome .markdown-studio-panel .add-artifact-body,
  body.mobile-chrome .markdown-studio-panel .edit-node-body {
    display: block !important;
    overflow-y: auto !important;
    min-height: 0 !important;
    padding-bottom: 1rem !important;
  }

  body.mobile-chrome .markdown-studio-panel .add-artifact-grid {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  body.mobile-chrome .markdown-studio-panel .markdown-studio,
  body.mobile-chrome .markdown-studio-panel .markdown-studio-topline {
    display: block !important;
  }

  body.mobile-chrome .markdown-studio-panel .markdown-studio-controls {
    width: 100% !important;
    justify-content: space-between !important;
    gap: 0.45rem !important;
    margin-top: 0.45rem !important;
  }

  body.mobile-chrome .markdown-studio-panel .markdown-studio-surface,
  body.mobile-chrome .markdown-studio-panel .markdown-studio-surface.rich-only,
  body.mobile-chrome .markdown-studio-panel .markdown-studio-surface.raw-only {
    height: min(42dvh, 340px) !important;
    min-height: 230px !important;
    max-height: min(42dvh, 340px) !important;
    overflow: hidden !important;
  }

  body.mobile-chrome .markdown-studio-panel .modal-footer-actions,
  body.mobile-chrome .markdown-studio-panel .add-artifact-actions,
  body.mobile-chrome .markdown-studio-panel .edit-node-actions {
    position: static !important;
    margin-top: 0.75rem !important;
    padding-top: 0.75rem !important;
    background: transparent !important;
  }

  body.mobile-chrome .markdown-studio-panel .modal-footer-actions .tv-btn {
    flex: 1 1 auto !important;
    justify-content: center !important;
  }
}

/* Mobile parent-picker affordance and compact wizard/editor headers. */
.mobile-card-select-parent-chip {
  color: rgba(110, 231, 183, 0.98) !important;
  border-color: rgba(16, 185, 129, 0.42) !important;
  background: rgba(6, 78, 59, 0.16) !important;
  gap: 0.32rem !important;
}

.mobile-card-select-parent-chip span {
  font-size: 0.68rem;
  font-weight: 800;
}

@media (max-width: 760px) {
  body.mobile-chrome .artifact-wizard-head,
  body.mobile-chrome .markdown-studio-panel .add-artifact-head,
  body.mobile-chrome .markdown-studio-panel .edit-node-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 0.58rem !important;
  }

  body.mobile-chrome .artifact-wizard-head > div,
  body.mobile-chrome .markdown-studio-panel .add-artifact-head > div,
  body.mobile-chrome .markdown-studio-panel .edit-node-head > div {
    min-width: 0 !important;
  }

  body.mobile-chrome .artifact-wizard-head > .tv-btn,
  body.mobile-chrome .markdown-studio-panel .add-artifact-head > .tv-btn,
  body.mobile-chrome .markdown-studio-panel .edit-node-head > .tv-btn {
    width: 2.35rem !important;
    min-width: 2.35rem !important;
    height: 2.35rem !important;
    min-height: 2.35rem !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.mobile-chrome .artifact-wizard-head .modal-title-lite,
  body.mobile-chrome .markdown-studio-panel .add-artifact-head .modal-title-lite,
  body.mobile-chrome .markdown-studio-panel .edit-node-head .modal-title-lite {
    font-size: 1.02rem !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
    overflow-wrap: anywhere !important;
  }

  body.mobile-chrome .artifact-wizard-head .text-secondary,
  body.mobile-chrome .markdown-studio-panel .add-artifact-head .text-secondary,
  body.mobile-chrome .markdown-studio-panel .edit-node-head .text-secondary {
    font-size: 0.86rem !important;
    line-height: 1.32 !important;
  }

  body.mobile-chrome .artifact-wizard-body.paged {
    overscroll-behavior: contain !important;
  }

  body.mobile-chrome .artifact-wizard-actions.paged {
    box-shadow: 0 -18px 32px rgba(6, 4, 10, 0.32) !important;
  }
}

/* Feed badge dimensions. */
.post-chips > .badge-soft,
.post-chips > .badge-schema,
.post-chips > .material-chip,
.post-chips > .muted-chip,
.post-chips > .source-badge,
.post-chips > .integrity-badge,
.lineage-post .post-chips > .badge-soft,
.lineage-post .post-chips > .badge-schema,
.lineage-post .post-chips > .material-chip,
.lineage-post .post-chips > .muted-chip,
.lineage-post .post-chips > .source-badge,
.lineage-post .post-chips > .integrity-badge {
  box-sizing: border-box !important;
  height: 1.42rem !important;
  min-height: 1.42rem !important;
  max-height: 1.42rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.post-chips > .badge-soft i,
.post-chips > .badge-schema i,
.post-chips > .material-chip i,
.post-chips > .source-badge i,
.post-chips > .integrity-badge i,
.lineage-post .post-chips > .badge-soft i,
.lineage-post .post-chips > .badge-schema i,
.lineage-post .post-chips > .material-chip i,
.lineage-post .post-chips > .source-badge i,
.lineage-post .post-chips > .integrity-badge i {
  width: 0.72rem !important;
  height: 0.72rem !important;
  min-width: 0.72rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}


/* Mobile card badge and action rail.
   compactMobilePostChips() owns mobile badge membership and order. CSS owns only
   presentation: collapsed rows are one line with an action rail; expanded rows
   may wrap hidden badges. Card action controls are not semantic badges. */
@media (max-width: 640px) {
  body.mobile-chrome .mobile-card-actions,
  body.mobile-lens .mobile-card-actions {
    display: none !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-chip-packed,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-chip-packed {
    display: flex !important;
    align-items: center !important;
    gap: 0.26rem !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-card-more-row:not(.mobile-chip-expanded),
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-card-more-row:not(.mobile-chip-expanded) {
    position: relative !important;
    flex-wrap: nowrap !important;
    min-height: 1.46rem !important;
    padding-right: 2.22rem !important;
    overflow: hidden !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-chip-packed:not(.mobile-chip-expanded),
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-chip-packed:not(.mobile-chip-expanded) {
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    max-height: 1.5rem !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-chip-packed > .badge-soft:not(.mobile-chip-more):not(.mobile-card-more-chip):not(.mobile-card-select-parent-chip),
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-chip-packed > .badge-soft:not(.mobile-chip-more):not(.mobile-card-more-chip):not(.mobile-card-select-parent-chip) {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    max-width: 7.2rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-chip-packed > .muted-chip,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-chip-packed > .muted-chip {
    max-width: 4.85rem !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-chip-packed > .badge-schema,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-chip-packed > .badge-schema {
    max-width: 6.8rem !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-chip-packed:not(.mobile-chip-expanded) > .mobile-chip-hidden,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-chip-packed:not(.mobile-chip-expanded) > .mobile-chip-hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-chip-packed.mobile-chip-expanded,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-chip-packed.mobile-chip-expanded {
    flex-wrap: wrap !important;
    overflow: visible !important;
    max-height: none !important;
    row-gap: 0.32rem !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-chip-packed.mobile-chip-expanded > .mobile-chip-hidden,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-chip-packed.mobile-chip-expanded > .mobile-chip-hidden {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-chip-packed.mobile-chip-expanded > .mobile-chip-more,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-chip-packed.mobile-chip-expanded > .mobile-chip-more {
    display: none !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-chip-packed > .mobile-chip-more,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-chip-packed > .mobile-chip-more {
    flex: 0 0 auto !important;
    min-width: 1.72rem !important;
    max-width: 2.6rem !important;
    justify-content: center !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-card-more-row > .mobile-card-more-chip,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-card-more-row > .mobile-card-more-chip,
  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-card-parent-select-row > .mobile-card-select-parent-chip,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-card-parent-select-row > .mobile-card-select-parent-chip {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    z-index: 40 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-card-more-row > .mobile-card-more-chip {
    width: 1.88rem !important;
    min-width: 1.88rem !important;
    max-width: 1.88rem !important;
    height: 1.36rem !important;
    min-height: 1.36rem !important;
    max-height: 1.36rem !important;
  }

  html body.mobile-lens .workspace .post-main > .post-chips.mobile-card-more-row > .mobile-card-more-chip {
    width: 1.88rem !important;
    min-width: 1.88rem !important;
    max-width: 1.88rem !important;
    height: 1.36rem !important;
    min-height: 1.36rem !important;
    max-height: 1.36rem !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-card-more-row > .mobile-card-more-chip i,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-card-more-row > .mobile-card-more-chip i,
  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-card-parent-select-row > .mobile-card-select-parent-chip i,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-card-parent-select-row > .mobile-card-select-parent-chip i {
    margin: 0 !important;
    line-height: 1 !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-card-parent-select-row,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-card-parent-select-row {
    position: relative !important;
    padding-right: 2.15rem !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-card-parent-select-row > .mobile-card-select-parent-chip,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-card-parent-select-row > .mobile-card-select-parent-chip {
    width: 1.68rem !important;
    min-width: 1.68rem !important;
    max-width: 1.68rem !important;
    height: 1.34rem !important;
    min-height: 1.34rem !important;
    max-height: 1.34rem !important;
    gap: 0 !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-card-parent-select-row > .mobile-card-select-parent-chip i,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-card-parent-select-row > .mobile-card-select-parent-chip i {
    width: 0.82rem !important;
    min-width: 0.82rem !important;
  }

  html body.mobile-chrome .workspace .post-main > .post-chips.mobile-card-parent-select-row > .mobile-card-select-parent-chip span,
  html body.mobile-lens .workspace .post-main > .post-chips.mobile-card-parent-select-row > .mobile-card-select-parent-chip span {
    display: none !important;
  }
}


/* Authoring dialog shell: shared wizard, markdown review, and local edit layout. */
.authoring-dialog-panel {
  width: min(1040px, calc(100vw - 1.4rem)) !important;
  height: min(88dvh, 860px) !important;
  max-height: min(88dvh, 860px) !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 1.22rem !important;
  border: 1px solid rgba(216, 180, 254, 0.22) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(168, 85, 247, 0.11), transparent 34%),
    linear-gradient(180deg, rgba(18, 15, 28, 0.985), rgba(11, 10, 18, 0.995)) !important;
}

.authoring-dialog-head {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 0.82rem !important;
  margin: 0 !important;
  padding: 0.82rem 1rem !important;
  border-bottom: 1px solid rgba(216, 180, 254, 0.14) !important;
  background: rgba(16, 13, 25, 0.92) !important;
}

.authoring-dialog-title {
  min-width: 0 !important;
}

.authoring-dialog-head .kicker {
  margin: 0 0 0.16rem !important;
  font-size: 0.68rem !important;
  line-height: 1.05 !important;
  letter-spacing: 0.15em !important;
}

.authoring-dialog-head .modal-title-lite {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin: 0 !important;
  font-size: clamp(1.08rem, 1.2vw, 1.32rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.045em !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

.authoring-dialog-head .modal-title-lite i {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.authoring-dialog-head .text-secondary {
  margin-top: 0.24rem !important;
  max-width: 74ch !important;
  font-size: 0.88rem !important;
  line-height: 1.34 !important;
}

.authoring-dialog-close {
  width: 2.2rem !important;
  min-width: 2.2rem !important;
  height: 2.2rem !important;
  min-height: 2.2rem !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
}

.authoring-dialog-close i {
  margin: 0 !important;
}

.authoring-dialog-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  padding: 0.78rem 1rem 0.95rem !important;
}

.authoring-dialog-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0.52rem !important;
  margin: 0 !important;
  padding: 0.64rem 1rem !important;
  border-top: 1px solid rgba(216, 180, 254, 0.12) !important;
  background:
    linear-gradient(180deg, rgba(11, 10, 18, 0.50), rgba(11, 10, 18, 0.90)),
    rgba(11, 10, 18, 0.80) !important;
}

.authoring-dialog-actions .tv-btn {
  min-height: 2.12rem !important;
}

.artifact-wizard-panel.authoring-dialog-panel {
  width: min(960px, calc(100vw - 1.4rem)) !important;
}

.artifact-wizard-body.authoring-dialog-body {
  display: block !important;
}

.artifact-wizard-progress {
  margin-bottom: 0.58rem !important;
}

.artifact-wizard-panel .wizard-step,
.artifact-wizard-panel .wizard-step-page {
  padding: 0.68rem !important;
  margin-bottom: 0 !important;
}

.artifact-wizard-panel .wizard-step-head,
.artifact-wizard-panel .wizard-step-page .wizard-step-head {
  margin-bottom: 0.5rem !important;
}

.artifact-wizard-panel .wizard-selected-type-strip {
  margin-bottom: 0.58rem !important;
  padding: 0.58rem 0.68rem !important;
}

.artifact-wizard-panel .wizard-fields.paged {
  gap: 0.58rem !important;
}

.artifact-wizard-panel .wizard-body-textarea.paged {
  min-height: 10.5rem !important;
  max-height: 30dvh !important;
}

.markdown-studio-panel.authoring-dialog-panel {
  width: min(1120px, calc(100vw - 1.4rem)) !important;
  height: min(88dvh, 880px) !important;
  max-height: min(88dvh, 880px) !important;
}

.markdown-studio-panel.authoring-dialog-panel .add-artifact-body,
.markdown-studio-panel.authoring-dialog-panel .edit-node-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: auto !important;
}

.markdown-studio-panel.authoring-dialog-panel .add-relation-card,
.markdown-studio-panel.authoring-dialog-panel .add-artifact-grid,
.markdown-studio-panel.authoring-dialog-panel .add-artifact-hint {
  flex: 0 0 auto !important;
}

.markdown-studio-panel.authoring-dialog-panel .markdown-studio {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.markdown-studio-panel.authoring-dialog-panel .markdown-studio-surface,
.markdown-studio-panel.authoring-dialog-panel .markdown-studio-surface.rich-only,
.markdown-studio-panel.authoring-dialog-panel .markdown-studio-surface.raw-only {
  flex: 1 1 auto !important;
  min-height: 240px !important;
  height: auto !important;
  max-height: none !important;
}

.markdown-studio-panel.authoring-dialog-panel .add-artifact-actions,
.markdown-studio-panel.authoring-dialog-panel .edit-node-actions {
  position: static !important;
}

@media (max-width: 760px) {
  .focus-modal.modal-backdrop-custom {
    padding: 0.35rem !important;
  }

  .authoring-dialog-panel,
  .artifact-wizard-panel.authoring-dialog-panel,
  .markdown-studio-panel.authoring-dialog-panel {
    width: calc(100vw - 0.7rem) !important;
    height: calc(100dvh - 0.7rem) !important;
    max-height: calc(100dvh - 0.7rem) !important;
    border-radius: 1rem !important;
  }

  .authoring-dialog-head {
    padding: 0.62rem 0.7rem !important;
    gap: 0.5rem !important;
  }

  .authoring-dialog-head .kicker {
    margin-bottom: 0.1rem !important;
    font-size: 0.61rem !important;
  }

  .authoring-dialog-head .modal-title-lite {
    font-size: 0.98rem !important;
    line-height: 1.08 !important;
  }

  .authoring-dialog-head .text-secondary {
    margin-top: 0.16rem !important;
    font-size: 0.78rem !important;
    line-height: 1.24 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .authoring-dialog-close {
    width: 2rem !important;
    min-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
  }

  .authoring-dialog-body {
    padding: 0.58rem 0.64rem 0.72rem !important;
  }

  .authoring-dialog-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.42rem !important;
    padding: 0.52rem 0.64rem !important;
  }

  .authoring-dialog-actions .tv-btn {
    width: 100% !important;
    min-height: 2.24rem !important;
    justify-content: center !important;
    padding-inline: 0.58rem !important;
  }

  .authoring-dialog-actions .tv-btn.primary,
  .artifact-wizard-actions.authoring-dialog-actions .wizard-direct-create {
    grid-column: 1 / -1 !important;
  }

  .artifact-wizard-progress {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.28rem !important;
    margin-bottom: 0.45rem !important;
  }

  .artifact-wizard-progress span {
    min-width: 0 !important;
    justify-content: center !important;
    gap: 0.22rem !important;
    padding: 0.2rem 0.28rem !important;
    font-size: 0.66rem !important;
    white-space: nowrap !important;
  }

  .artifact-wizard-progress span b {
    width: 1rem !important;
    height: 1rem !important;
    font-size: 0.62rem !important;
  }

  .artifact-wizard-panel .wizard-selected-type-strip {
    padding: 0.5rem 0.58rem !important;
    margin-bottom: 0.48rem !important;
  }

  .artifact-wizard-panel .wizard-selected-type-strip span,
  .artifact-wizard-panel .wizard-step-head p {
    font-size: 0.78rem !important;
    line-height: 1.22 !important;
  }

  .artifact-wizard-panel .wizard-step,
  .artifact-wizard-panel .wizard-step-page {
    padding: 0.52rem !important;
  }

  .artifact-wizard-panel .wizard-step-head,
  .artifact-wizard-panel .wizard-step-page .wizard-step-head {
    margin-bottom: 0.42rem !important;
  }

  .wizard-fields.paged {
    gap: 0.5rem !important;
  }

  .wizard-body-textarea.paged {
    min-height: 8.5rem !important;
    max-height: 30dvh !important;
  }

  .markdown-studio-panel.authoring-dialog-panel .add-artifact-body,
  .markdown-studio-panel.authoring-dialog-panel .edit-node-body {
    display: flex !important;
    overflow: auto !important;
    padding-bottom: 0.72rem !important;
  }

  .markdown-studio-panel.authoring-dialog-panel .markdown-studio,
  .markdown-studio-panel.authoring-dialog-panel .markdown-studio-topline {
    display: flex !important;
  }

  .markdown-studio-panel.authoring-dialog-panel .markdown-studio-topline {
    align-items: flex-start !important;
  }

  .markdown-studio-panel.authoring-dialog-panel .markdown-studio-surface,
  .markdown-studio-panel.authoring-dialog-panel .markdown-studio-surface.rich-only,
  .markdown-studio-panel.authoring-dialog-panel .markdown-studio-surface.raw-only {
    min-height: 220px !important;
  }
}

@media (max-width: 760px) and (max-height: 700px) {
  .authoring-dialog-head .text-secondary {
    -webkit-line-clamp: 1 !important;
  }

  .artifact-wizard-progress span b {
    display: none !important;
  }

  .wizard-body-textarea.paged {
    min-height: 7.2rem !important;
  }
}

@media (max-width: 760px) {
  body.mobile-chrome .markdown-studio-panel.authoring-dialog-panel .add-artifact-body,
  body.mobile-chrome .markdown-studio-panel.authoring-dialog-panel .edit-node-body {
    display: flex !important;
    flex-direction: column !important;
    overflow: auto !important;
    padding-bottom: 0.72rem !important;
  }

  body.mobile-chrome .markdown-studio-panel.authoring-dialog-panel .markdown-studio {
    display: flex !important;
    flex-direction: column !important;
  }

  body.mobile-chrome .markdown-studio-panel.authoring-dialog-panel .markdown-studio-topline {
    display: flex !important;
    align-items: flex-start !important;
  }

  body.mobile-chrome .markdown-studio-panel.authoring-dialog-panel .modal-footer-actions,
  body.mobile-chrome .markdown-studio-panel.authoring-dialog-panel .add-artifact-actions,
  body.mobile-chrome .markdown-studio-panel.authoring-dialog-panel .edit-node-actions,
  body.mobile-chrome .artifact-wizard-actions.authoring-dialog-actions.paged {
    position: static !important;
    margin: 0 !important;
    background:
      linear-gradient(180deg, rgba(11, 10, 18, 0.50), rgba(11, 10, 18, 0.90)),
      rgba(11, 10, 18, 0.80) !important;
  }
}


/* Canonical wizard header context: relation lives in the dialog header, not the body. */
.wizard-header-context {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.34rem !important;
  margin-top: 0.42rem !important;
  max-width: 100% !important;
}

.wizard-header-context-chip {
  min-width: 0 !important;
  max-width: min(100%, 34rem) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.34rem !important;
  padding: 0.23rem 0.48rem !important;
  border: 1px solid rgba(216, 180, 254, 0.14) !important;
  border-radius: 999px !important;
  background: rgba(168, 85, 247, 0.075) !important;
  color: rgba(216, 180, 254, 0.90) !important;
  font-size: 0.76rem !important;
  line-height: 1.15 !important;
}

.wizard-header-context-chip i {
  flex: 0 0 auto !important;
  color: rgba(216, 180, 254, 0.95) !important;
}

.wizard-header-context-chip strong {
  flex: 0 0 auto !important;
  color: rgba(248, 246, 255, 0.78) !important;
  font-size: 0.66rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.045em !important;
}

.wizard-header-context-chip em {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-style: normal !important;
  color: rgba(216, 180, 254, 0.94) !important;
}

.artifact-wizard-progress span em {
  font-style: normal !important;
}

@media (max-width: 760px) {
  .wizard-header-context {
    gap: 0.26rem !important;
    margin-top: 0.28rem !important;
  }

  .wizard-header-context-chip {
    max-width: 100% !important;
    padding: 0.18rem 0.38rem !important;
    font-size: 0.68rem !important;
  }

  .wizard-header-context-chip strong {
    font-size: 0.60rem !important;
  }

  .artifact-wizard-progress {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 0.12rem !important;
    margin-bottom: 0.38rem !important;
    border: 1px solid rgba(216, 180, 254, 0.12) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.025) !important;
  }

  .artifact-wizard-progress span {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    min-width: 0 !important;
    justify-content: center !important;
    gap: 0.2rem !important;
    padding: 0.18rem 0.24rem !important;
    font-size: 0.64rem !important;
  }

  .artifact-wizard-progress span.active {
    background: rgba(168, 85, 247, 0.22) !important;
    border-radius: 999px !important;
  }

  .artifact-wizard-progress span b {
    width: 0.92rem !important;
    height: 0.92rem !important;
    font-size: 0.58rem !important;
  }

  .artifact-wizard-progress span em {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

/* Canonical modal outlet: lets render patch modal content without changing overlay layout. */
.modal-root {
  display: contents;
}

/* Canonical mobile wizard footer actions: mobile uses header close for cancel; footer keeps forward actions compact. */
@media (max-width: 760px) {
  .artifact-wizard-actions.authoring-dialog-actions.paged {
    grid-template-columns: 1fr !important;
    gap: 0.36rem !important;
    padding: 0.44rem 0.64rem max(0.44rem, env(safe-area-inset-bottom)) !important;
  }

  .artifact-wizard-actions.authoring-dialog-actions.paged .wizard-cancel-action {
    display: none !important;
  }

  .artifact-wizard-actions.authoring-dialog-actions.paged .tv-btn {
    min-height: 2.18rem !important;
  }

  .artifact-wizard-actions.authoring-dialog-actions.paged .wizard-review-markdown {
    min-height: 2rem !important;
    font-size: 0.78rem !important;
  }
}

/* Wizard type-step height polish: desktop can show the schema chooser without
   forcing body scroll in normal viewports; mobile keeps the compact single-column
   card list and primary-only footer behavior. */
@media (min-width: 761px) {
  .artifact-wizard-panel.authoring-dialog-panel {
    width: min(1040px, calc(100vw - 1.25rem)) !important;
    height: min(92dvh, 900px) !important;
    max-height: min(92dvh, 900px) !important;
  }

  .artifact-wizard-body.authoring-dialog-body.paged {
    padding: 0.64rem 0.9rem 0.62rem !important;
  }

  .artifact-wizard-progress {
    margin-bottom: 0.42rem !important;
  }

  .artifact-wizard-panel .wizard-step,
  .artifact-wizard-panel .wizard-step-page {
    padding: 0.56rem !important;
  }

  .artifact-wizard-panel .wizard-step-head,
  .artifact-wizard-panel .wizard-step-page .wizard-step-head {
    gap: 0.5rem !important;
    margin-bottom: 0.42rem !important;
  }

  .artifact-wizard-panel .wizard-step-head > span {
    width: 1.45rem !important;
    height: 1.45rem !important;
    font-size: 0.72rem !important;
  }

  .artifact-wizard-panel .wizard-step-head p {
    margin-top: 0.08rem !important;
    line-height: 1.26 !important;
  }

  .wizard-schema-grid.paged {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0.5rem !important;
  }

  .wizard-schema-grid.paged .wizard-schema-card {
    min-height: 7.15rem !important;
    padding: 0.58rem !important;
  }

  .wizard-schema-grid.paged .wizard-schema-card i {
    margin-bottom: 0.3rem !important;
  }

  .wizard-schema-grid.paged .wizard-schema-card small {
    margin-top: 0.06rem !important;
  }

  .wizard-schema-grid.paged .wizard-schema-card p {
    margin-top: 0.32rem !important;
    font-size: 0.78rem !important;
    line-height: 1.25 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .authoring-dialog-actions {
    padding: 0.54rem 0.9rem !important;
  }

  .authoring-dialog-actions .tv-btn {
    min-height: 2rem !important;
  }
}

@media (min-width: 761px) and (max-width: 900px) {
  .wizard-schema-grid.paged {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 761px) and (max-height: 760px) {
  .artifact-wizard-panel.authoring-dialog-panel {
    height: min(94dvh, 900px) !important;
    max-height: min(94dvh, 900px) !important;
  }

  .wizard-schema-grid.paged .wizard-schema-card {
    min-height: 6.72rem !important;
  }

  .wizard-schema-grid.paged .wizard-schema-card p {
    -webkit-line-clamp: 2 !important;
  }
}

.integrity-meaning-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.integrity-meaning-card {
  border: 1px solid rgba(216, 180, 254, 0.16);
  background: rgba(255, 255, 255, 0.035);
  border-radius: 1rem;
  padding: 0.9rem;
}

.integrity-meaning-card h3 {
  margin: 0 0 0.55rem;
  font-size: 0.88rem;
  color: rgba(248, 246, 255, 0.96);
}

.integrity-meaning-card ul {
  margin: 0;
  padding-left: 1.05rem;
  color: rgba(224, 216, 236, 0.86);
}

.integrity-meaning-card li + li {
  margin-top: 0.35rem;
}

.integrity-meaning-card.positive {
  border-color: rgba(74, 222, 128, 0.24);
  background: rgba(22, 163, 74, 0.075);
}

.integrity-meaning-card.limited {
  border-color: rgba(245, 197, 83, 0.22);
  background: rgba(168, 125, 36, 0.075);
}

.integrity-summary.byte-integrity-verified {
  border-color: rgba(74, 222, 128, 0.32) !important;
  background: rgba(22, 163, 74, 0.12) !important;
}

.integrity-summary.draft-pending,
.integrity-summary.target-ambiguous {
  border-color: rgba(245, 197, 83, 0.28) !important;
  background: rgba(168, 125, 36, 0.12) !important;
}

.integrity-summary.malformed-claim,
.integrity-summary.method-unsupported,
.integrity-summary.target-unavailable {
  border-color: rgba(251, 146, 60, 0.34) !important;
  background: rgba(154, 52, 18, 0.13) !important;
}

.integrity-technical .integrity-kv-grid {
  margin-top: 0.8rem;
}

.integrity-raw-text {
  margin-top: 0.85rem;
  border-top: 1px solid rgba(216, 180, 254, 0.13);
  padding-top: 0.75rem;
}

.integrity-raw-text pre {
  overflow: auto;
  white-space: pre-wrap;
  margin: 0.75rem 0 0;
}

.integrity-badge.draft {
  color: rgba(245, 222, 164, 0.97) !important;
  background: rgba(168, 125, 36, 0.13) !important;
  border-color: rgba(245, 197, 83, 0.3) !important;
}

@media (max-width: 720px) {
  .integrity-meaning-grid {
    grid-template-columns: 1fr;
  }

  .integrity-meaning-card {
    padding: 0.8rem;
  }

  .integrity-hash-row {
    gap: 0.35rem;
  }
}

.integrity-summary,
.integrity-meaning-card,
.integrity-technical,
.integrity-kv,
.integrity-hash-table,
.integrity-raw-text,
.integrity-raw-text pre,
.integrity-raw-text code {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.integrity-summary span,
.integrity-meaning-card li,
.integrity-kv dd,
.integrity-hash-row > *,
.integrity-raw-text pre,
.integrity-raw-text code {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.integrity-modal-head .tv-btn.small {
  width: 2.25rem !important;
  min-width: 2.25rem !important;
  height: 2.25rem !important;
  min-height: 2.25rem !important;
  padding: 0 !important;
  border-radius: 999px !important;
  flex: 0 0 auto !important;
}

.integrity-modal-card,
.integrity-diagnostics-body {
  overflow-x: hidden !important;
}

@media (max-width: 720px) {
  .integrity-modal-head {
    padding: 0.85rem 0.95rem !important;
  }

  .integrity-modal-head h2 {
    max-width: calc(100vw - 7rem) !important;
  }

  .integrity-diagnostics-body {
    padding: 0.75rem !important;
  }

  .integrity-summary,
  .integrity-meaning-card,
  .integrity-raw {
    border-radius: 0.85rem !important;
  }
}

.export-result-panel {
  width: min(94vw, 920px);
}

.export-result-hero {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.export-result-hero div,
.export-result-kv,
.export-result-row {
  border: 1px solid rgba(216,180,254,0.12);
  border-radius: 0.82rem;
  padding: 0.65rem;
  background: rgba(168,85,247,0.06);
}

.export-result-hero strong,
.export-result-hero span,
.export-result-kv span,
.export-result-kv strong,
.export-result-row span,
.export-result-row strong {
  display: block;
  min-width: 0;
}

.export-result-hero strong,
.export-result-kv strong,
.export-result-row strong {
  overflow-wrap: anywhere;
}

.export-result-hero span,
.export-result-kv span,
.export-result-row span {
  color: var(--tv-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.export-result-contract {
  display: grid;
  gap: 0.5rem;
}

.export-result-rows {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}

.export-result-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.6rem;
}

.export-result-row span,
.export-result-row strong {
  display: inline;
}

.export-result-pre {
  max-height: 14rem;
  overflow: auto;
  margin: 0;
}

@media (min-width: 761px) {
  .export-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .export-result-hero,
  .export-result-rows {
    grid-template-columns: 1fr;
  }
}

.github-source-modal {
  max-width: 720px !important;
}

.github-source-form {
  gap: 10px;
  margin-top: 14px;
}

.github-source-field-grid,
.github-source-surface-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.github-source-form .source-root-box {
  min-height: 54px;
}

.github-source-form .source-url-box {
  min-height: 68px;
}

.github-source-form .display-option-row {
  padding: 0.6rem 0.7rem;
  align-items: center;
}

.github-source-form .display-option-row small {
  margin-top: 0.08rem;
  line-height: 1.25;
}

.github-advanced-issues {
  border: 1px solid rgba(216, 180, 254, 0.14);
  border-radius: 0.9rem;
  background: rgba(255,255,255,0.018);
  padding: 0.65rem 0.75rem;
}

.github-advanced-issues summary {
  cursor: pointer;
  color: var(--tv-text);
  font-weight: 760;
}

.github-advanced-issues summary em {
  color: var(--tv-muted);
  font-style: normal;
  font-weight: 500;
}

.github-advanced-issues[open] summary {
  margin-bottom: 0.55rem;
}

.github-source-form .source-safety-note {
  font-size: 0.9rem;
}

@media (max-width: 760px) {
  .github-source-field-grid,
  .github-source-surface-grid {
    grid-template-columns: 1fr;
  }
}

/* CP152 schema-aware lineage modules */
.lineage-module-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 0.65rem;
  padding: 0.55rem 0.8rem 0.7rem;
}

.lineage-module-card {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(15, 23, 42, 0.44);
  border-radius: 0.9rem;
  padding: 0.7rem 0.75rem;
  min-width: 0;
}

.lineage-module-card > i {
  opacity: 0.9;
  margin-top: 0.15rem;
}

.lineage-module-card strong,
.lineage-module-card span,
.lineage-module-card small {
  display: block;
  line-height: 1.2;
}

.lineage-module-card strong {
  font-size: 0.82rem;
}

.lineage-module-card span {
  font-size: 0.76rem;
  color: var(--muted, #94a3b8);
  margin-top: 0.16rem;
}

.lineage-module-card small {
  font-size: 0.69rem;
  color: var(--muted-2, #64748b);
  margin-top: 0.16rem;
}

.lineage-module-card.needs-attention {
  border-color: rgba(251, 113, 133, 0.45);
  background: rgba(127, 29, 29, 0.16);
}

.lineage-module-card[role="button"] {
  cursor: pointer;
}

.lineage-module-card[role="button"]:hover,
.lineage-module-card[role="button"]:focus-visible {
  border-color: rgba(168, 85, 247, 0.55);
  background: rgba(88, 28, 135, 0.24);
}

@media (max-width: 760px) {
  .lineage-module-strip {
    display: flex;
    gap: 0.45rem;
    overflow-x: auto;
    padding: 0.45rem 0.65rem 0.5rem;
    scrollbar-width: none;
  }

  .lineage-module-strip::-webkit-scrollbar {
    display: none;
  }

  .lineage-module-card {
    flex: 0 0 auto;
    align-items: center;
    gap: 0.5rem;
    border-radius: 999px;
    padding: 0.45rem 0.6rem;
    max-width: min(82vw, 18rem);
  }

  .lineage-module-card > i {
    margin-top: 0;
  }

  .lineage-module-card strong,
  .lineage-module-card span {
    display: inline;
    font-size: 0.72rem;
  }

  .lineage-module-card strong::after {
    content: ': ';
    color: var(--muted-2, #64748b);
  }

  .lineage-module-card small {
    display: none;
  }
}

/* CP152a4 mobile status-module polish.
   Module cards are context hints, not primary content. On narrow screens they
   must behave like compact chips and never visually collide with the discovery
   search rail. */
@media (max-width: 640px) {
  body.mobile-chrome .lineage-module-strip,
  body.mobile-lens .lineage-module-strip,
  .lineage-module-strip {
    position: relative !important;
    z-index: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.34rem !important;
    min-height: 1.46rem !important;
    max-height: 1.72rem !important;
    padding: 0.18rem 0.62rem 0.14rem !important;
    margin: 0 0 0.1rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  body.mobile-chrome .lineage-module-strip::-webkit-scrollbar,
  body.mobile-lens .lineage-module-strip::-webkit-scrollbar,
  .lineage-module-strip::-webkit-scrollbar {
    display: none !important;
  }

  body.mobile-chrome .lineage-module-card,
  body.mobile-lens .lineage-module-card,
  .lineage-module-card {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.32rem !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(78vw, 14.5rem) !important;
    min-height: 1.34rem !important;
    max-height: 1.38rem !important;
    padding: 0.16rem 0.46rem !important;
    border-radius: 999px !important;
    line-height: 1 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.mobile-chrome .lineage-module-card > i,
  body.mobile-lens .lineage-module-card > i,
  .lineage-module-card > i {
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 0.68rem !important;
    line-height: 1 !important;
  }

  body.mobile-chrome .lineage-module-card > div,
  body.mobile-lens .lineage-module-card > div,
  .lineage-module-card > div {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.18rem !important;
    overflow: hidden !important;
  }

  body.mobile-chrome .lineage-module-card strong,
  body.mobile-chrome .lineage-module-card span,
  body.mobile-lens .lineage-module-card strong,
  body.mobile-lens .lineage-module-card span,
  .lineage-module-card strong,
  .lineage-module-card span {
    display: inline-block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 0.64rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.mobile-chrome .lineage-module-card strong::after,
  body.mobile-lens .lineage-module-card strong::after,
  .lineage-module-card strong::after {
    content: '·' !important;
    margin-left: 0.18rem !important;
    color: rgba(148, 163, 184, 0.75) !important;
  }

  body.mobile-chrome .lineage-module-card[data-kind="github"] strong,
  body.mobile-lens .lineage-module-card[data-kind="github"] strong,
  .lineage-module-card[data-kind="github"] strong {
    max-width: 2.35rem !important;
  }

  body.mobile-chrome .lineage-module-card[data-kind="github"] strong::before,
  body.mobile-lens .lineage-module-card[data-kind="github"] strong::before,
  .lineage-module-card[data-kind="github"] strong::before {
    content: 'GitHub' !important;
  }

  body.mobile-chrome .lineage-module-card[data-kind="github"] strong,
  body.mobile-lens .lineage-module-card[data-kind="github"] strong,
  .lineage-module-card[data-kind="github"] strong {
    font-size: 0 !important;
  }

  body.mobile-chrome .lineage-module-card[data-kind="github"] strong::before,
  body.mobile-chrome .lineage-module-card[data-kind="github"] strong::after,
  body.mobile-lens .lineage-module-card[data-kind="github"] strong::before,
  body.mobile-lens .lineage-module-card[data-kind="github"] strong::after,
  .lineage-module-card[data-kind="github"] strong::before,
  .lineage-module-card[data-kind="github"] strong::after {
    font-size: 0.64rem !important;
  }

  body.mobile-chrome .lineage-module-card small,
  body.mobile-lens .lineage-module-card small,
  .lineage-module-card small {
    display: none !important;
  }

  body.mobile-chrome .feed-toolbar.discovery,
  body.mobile-chrome .feed-toolbar.discovery.feed-toolbar-foundation,
  body.mobile-chrome .feed-toolbar.discovery.feed-toolbar-shell,
  body.mobile-chrome .feed-toolbar.discovery.feed-toolbar-layout,
  body.mobile-lens .feed-toolbar.discovery,
  body.mobile-lens .feed-toolbar.discovery.feed-toolbar-foundation,
  body.mobile-lens .feed-toolbar.discovery.feed-toolbar-shell,
  body.mobile-lens .feed-toolbar.discovery.feed-toolbar-layout,
  .feed-toolbar.discovery,
  .feed-toolbar.discovery.feed-toolbar-foundation,
  .feed-toolbar.discovery.feed-toolbar-shell,
  .feed-toolbar.discovery.feed-toolbar-layout {
    position: relative !important;
    z-index: 2 !important;
    margin-top: 0 !important;
  }

  .workspace.mobile-chrome-compact .lineage-module-strip {
    max-height: 0 !important;
    min-height: 0 !important;
    opacity: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    border-width: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
}

/* CP152a6: schema badges should communicate known schema families. White/ink is
   reserved for unknown/plain schemas so known families do not look unresolved. */
.badge-schema.unknown,
.post-chips .badge-schema.unknown,
.post-chips .schema-nav-badge.unknown,
.lineage-post .badge-schema.unknown,
.tree-file-row .tree-badges .badge-schema.unknown {
  color: rgba(245, 242, 255, 0.92) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  border-color: rgba(245, 242, 255, 0.26) !important;
}

.badge-schema.discovery,
.post-chips .badge-schema.discovery,
.post-chips .schema-nav-badge.discovery,
.lineage-post .badge-schema.discovery,
.tree-file-row .tree-badges .badge-schema.discovery {
  color: rgba(219, 166, 255, 0.98) !important;
  background: rgba(123, 48, 190, 0.26) !important;
  border-color: rgba(206, 126, 255, 0.42) !important;
}

.badge-schema.resource,
.post-chips .badge-schema.resource,
.post-chips .schema-nav-badge.resource,
.lineage-post .badge-schema.resource,
.tree-file-row .tree-badges .badge-schema.resource {
  color: rgba(255, 214, 138, 0.98) !important;
  background: rgba(164, 103, 30, 0.22) !important;
  border-color: rgba(255, 188, 82, 0.38) !important;
}

.badge-schema.instrument,
.post-chips .badge-schema.instrument,
.post-chips .schema-nav-badge.instrument,
.lineage-post .badge-schema.instrument,
.tree-file-row .tree-badges .badge-schema.instrument {
  color: rgba(255, 223, 128, 0.98) !important;
  background: rgba(139, 112, 24, 0.22) !important;
  border-color: rgba(241, 201, 78, 0.42) !important;
}

.badge-schema.runtime,
.post-chips .badge-schema.runtime,
.post-chips .schema-nav-badge.runtime,
.lineage-post .badge-schema.runtime,
.tree-file-row .tree-badges .badge-schema.runtime {
  color: rgba(121, 220, 255, 0.98) !important;
  background: rgba(30, 107, 148, 0.22) !important;
  border-color: rgba(105, 198, 255, 0.38) !important;
}

.badge-schema.relation,
.post-chips .badge-schema.relation,
.post-chips .schema-nav-badge.relation,
.lineage-post .badge-schema.relation,
.tree-file-row .tree-badges .badge-schema.relation,
.badge-schema.schema-governance,
.post-chips .badge-schema.schema-governance,
.post-chips .schema-nav-badge.schema-governance,
.lineage-post .badge-schema.schema-governance,
.tree-file-row .tree-badges .badge-schema.schema-governance,
.badge-schema.validation,
.post-chips .badge-schema.validation,
.post-chips .schema-nav-badge.validation,
.lineage-post .badge-schema.validation,
.tree-file-row .tree-badges .badge-schema.validation {
  color: rgba(206, 195, 255, 0.98) !important;
  background: rgba(79, 69, 137, 0.24) !important;
  border-color: rgba(170, 151, 255, 0.34) !important;
}

.badge-schema.privacy,
.post-chips .badge-schema.privacy,
.post-chips .schema-nav-badge.privacy,
.lineage-post .badge-schema.privacy,
.tree-file-row .tree-badges .badge-schema.privacy,
.badge-schema.payload,
.post-chips .badge-schema.payload,
.post-chips .schema-nav-badge.payload,
.lineage-post .badge-schema.payload,
.tree-file-row .tree-badges .badge-schema.payload {
  color: rgba(142, 238, 219, 0.98) !important;
  background: rgba(26, 128, 115, 0.2) !important;
  border-color: rgba(89, 218, 197, 0.34) !important;
}

.badge-schema.attestation,
.post-chips .badge-schema.attestation,
.post-chips .schema-nav-badge.attestation,
.lineage-post .badge-schema.attestation,
.tree-file-row .tree-badges .badge-schema.attestation,
.badge-schema.lineage-upgrade,
.post-chips .badge-schema.lineage-upgrade,
.post-chips .schema-nav-badge.lineage-upgrade,
.lineage-post .badge-schema.lineage-upgrade,
.tree-file-row .tree-badges .badge-schema.lineage-upgrade {
  color: rgba(238, 178, 255, 0.98) !important;
  background: rgba(112, 48, 138, 0.24) !important;
  border-color: rgba(218, 126, 255, 0.36) !important;
}

/* CP152b: schema-aware read presenters. Pretty views should surface the
   user-relevant interpretation first and leave exact artifact text below. */
.schema-presenter {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
}
.schema-presenter.attention {
  border-color: rgba(255,112,139,.34);
  background: rgba(255,74,116,.07);
}
.schema-presenter-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}
.schema-presenter-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  color: var(--tv-purple-2);
  background: rgba(160,83,255,.12);
}
.schema-presenter-kicker,
.schema-read-label {
  margin: 0 0 4px;
  color: var(--tv-purple-2);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.schema-presenter h3 {
  margin: 0 0 4px;
  letter-spacing: -.035em;
}
.schema-presenter p { margin: 0; color: var(--tv-muted); line-height: 1.5; }
.schema-read-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}
.schema-read-metric {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 13px;
  background: rgba(0,0,0,.14);
}
.schema-read-metric span {
  display: block;
  margin-bottom: 2px;
  color: var(--tv-muted);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .09em;
}
.schema-read-metric strong,
.schema-read-metric a {
  display: block;
  color: var(--tv-ink);
  font-size: .92rem;
  font-weight: 700;
  overflow-wrap: anywhere;
  text-decoration: none;
}
.schema-read-metric a:hover { text-decoration: underline; }
.schema-read-block {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.schema-primary-block {
  margin: 10px 0 12px;
  padding: 12px 13px;
  border: 1px solid rgba(202,153,255,.18);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(160,83,255,.10), rgba(255,255,255,.035));
}
.schema-primary-block p {
  color: var(--tv-ink);
  font-size: .98rem;
  line-height: 1.55;
}
.discovery-observed-material p {
  font-size: 1rem;
}
.schema-meta-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 2px;
}
.schema-meta-chip {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  max-width: 100%;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: var(--tv-muted);
  font-size: .76rem;
}
.schema-meta-chip span {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
}
.schema-meta-chip strong,
.schema-meta-chip a {
  min-width: 0;
  color: var(--tv-ink);
  font-size: .82rem;
  font-weight: 750;
  overflow-wrap: anywhere;
  text-decoration: none;
}
.schema-meta-chip a:hover { text-decoration: underline; }
.schema-read-details {
  margin-top: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 10px;
}
.schema-read-details > summary {
  cursor: pointer;
  color: var(--tv-muted);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  list-style: none;
}
.schema-read-details > summary::-webkit-details-marker { display: none; }
.schema-read-details > summary::before {
  content: "▸";
  display: inline-block;
  margin-right: 6px;
  color: var(--tv-purple-2);
}
.schema-read-details[open] > summary::before { content: "▾"; }
.schema-read-details .schema-read-block:first-child {
  margin-top: 8px;
}
.schema-action-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.schema-action-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(202,153,255,.26);
  background: rgba(160,83,255,.10);
  color: var(--tv-ink);
  padding: 5px 8px;
  font-size: .8rem;
  font-weight: 700;
}
.artifact-body-read {
  margin-top: 12px;
}
.artifact-body-read summary {
  display: flex;
  align-items: baseline;
  gap: 10px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.artifact-body-read summary::-webkit-details-marker { display: none; }
.artifact-body-read summary::before {
  content: "▸";
  color: var(--tv-purple-2);
  font-size: .85rem;
  transform: translateY(-1px);
}
.artifact-body-read[open] summary::before { content: "▾"; }
.artifact-body-read summary .schema-read-label { margin: 0; }
.artifact-body-read summary small {
  color: var(--tv-muted);
  font-size: .78rem;
}
.artifact-body-read .markdown-rendered {
  margin-top: 14px;
}
.continuity-preview .schema-presenter {
  margin: 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: transparent;
  border-color: transparent;
}
.continuity-preview .schema-presenter-head { margin-bottom: 8px; }
.continuity-preview .schema-presenter-icon { width: 28px; height: 28px; flex-basis: 28px; border-radius: 10px; }
.continuity-preview .schema-read-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.continuity-preview .schema-read-metric { padding: 7px 8px; }
.continuity-preview .schema-read-block { margin-top: 8px; padding-top: 8px; }

@media (max-width: 720px) {
  .schema-presenter { padding: 12px; border-radius: 16px; }
  .schema-presenter-head { gap: 10px; }
  .schema-presenter-icon { width: 30px; height: 30px; flex-basis: 30px; }
  .schema-read-grid { grid-template-columns: 1fr; }
  .schema-read-metric { padding: 8px 9px; }
  .schema-primary-block { padding: 10px 11px; }
  .schema-meta-strip { gap: 5px; }
  .schema-meta-chip { font-size: .72rem; }
  .schema-action-chip { font-size: .76rem; }
}

/* CP152b7: use-as chips are explicit interpretation actions, not passive badges. */
.schema-action-button {
  cursor: pointer;
  font: inherit;
  appearance: none;
}
.schema-action-button:hover,
.schema-action-button:focus-visible {
  border-color: rgba(218,184,255,.62);
  background: rgba(160,83,255,.20);
  outline: none;
}
.schema-action-chip-muted {
  opacity: .68;
}

/* CP152b8: Use-as is a primary card action. Detail chips are contextual. */
.use-as-picker-panel {
  width: min(680px, calc(100vw - 28px));
}
.use-as-picker-body {
  display: grid;
  gap: 10px;
  padding: 16px 18px 20px;
}
.use-as-choice {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(202,153,255,.18);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  color: var(--tv-ink);
  text-align: left;
  cursor: pointer;
}
.use-as-choice i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 13px;
  border: 1px solid rgba(202,153,255,.22);
  color: var(--tv-purple-2);
  background: rgba(160,83,255,.13);
}
.use-as-choice strong,
.use-as-choice small {
  display: block;
}
.use-as-choice strong {
  font-size: .98rem;
  margin-bottom: 2px;
}
.use-as-choice small {
  color: var(--tv-muted);
  line-height: 1.35;
}
.use-as-choice:hover,
.use-as-choice:focus-visible {
  border-color: rgba(202,153,255,.42);
  background: rgba(160,83,255,.12);
  outline: none;
}
.use-as-choice.disabled,
.use-as-choice[disabled] {
  opacity: .55;
  cursor: not-allowed;
}
.schema-action-chip-muted {
  opacity: .82;
}
@media (max-width: 720px) {
  .use-as-picker-body { padding: 12px; }
  .use-as-choice { grid-template-columns: 34px minmax(0, 1fr); padding: 10px; border-radius: 14px; }
  .use-as-choice i { width: 34px; height: 34px; }
}
.use-as-context-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 6px 8px;
  border: 1px solid rgba(202,153,255,.2);
  border-radius: 999px;
  background: rgba(160,83,255,.09);
  color: var(--tv-muted);
  font-size: .78rem;
}
.use-as-context-chip strong { color: var(--tv-ink); }


/* CP152b9: node action rows must never require horizontal scrolling.
   Raw Markdown remains available as a compact secondary action, while Use as
   uses Tiinex accent styling instead of the green constructive/edit color. */
.lineage-post > .post-actions {
  flex-wrap: wrap !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
}

.lineage-post > .post-actions::-webkit-scrollbar {
  display: none !important;
}

.lineage-post > .post-actions > .icon-action {
  flex: 0 1 auto !important;
}

.icon-action.use-as-action {
  color: rgba(232, 191, 255, 0.96) !important;
  border-color: rgba(192, 132, 252, 0.36) !important;
  background: rgba(126, 34, 206, 0.12) !important;
}

.icon-action.use-as-action:hover,
.icon-action.use-as-action:focus-visible {
  color: rgba(255, 255, 255, 0.98) !important;
  border-color: rgba(216, 180, 254, 0.54) !important;
  background: rgba(147, 51, 234, 0.18) !important;
  box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.12) !important;
}

.icon-action.markdown-action {
  color: rgba(196, 181, 253, 0.78) !important;
  border-color: rgba(196, 181, 253, 0.16) !important;
}

@media (max-width: 760px) {
  .lineage-post > .post-actions {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(2.35rem, 1fr)) !important;
    gap: 0.32rem !important;
    align-items: stretch !important;
    padding: 0.45rem 0.5rem !important;
    overflow: visible !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 2.15rem !important;
    min-height: 2.15rem !important;
    max-height: 2.15rem !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-content: center !important;
  }

  .lineage-post > .post-actions > .icon-action span,
  .lineage-post > .post-actions > .post-action span,
  .lineage-post > .post-actions > button span,
  .lineage-post > .post-actions > a span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  .lineage-post > .post-actions > .icon-action i,
  .lineage-post > .post-actions > .post-action i,
  .lineage-post > .post-actions > button i,
  .lineage-post > .post-actions > a i {
    margin: 0 !important;
  }
}

/* CP152b10: balance action button inner spacing without reintroducing horizontal scroll.
   The row may wrap, but each action keeps symmetric left/right padding; compact
   icon-only actions use a fixed square affordance. */
.lineage-post > .post-actions {
  gap: 0.38rem !important;
  padding: 0.48rem 0.62rem 0.62rem !important;
  overflow-x: visible !important;
}

.lineage-post > .post-actions > .icon-action,
.lineage-post > .post-actions > .post-action,
.lineage-post > .post-actions > button,
.lineage-post > .post-actions > a {
  box-sizing: border-box !important;
  min-height: 2.15rem !important;
  padding-left: 0.62rem !important;
  padding-right: 0.62rem !important;
  justify-content: center !important;
  text-align: center !important;
}

.lineage-post > .post-actions > .icon-action i,
.lineage-post > .post-actions > .post-action i,
.lineage-post > .post-actions > button i,
.lineage-post > .post-actions > a i {
  flex: 0 0 auto !important;
  width: 1em !important;
  margin: 0 !important;
  text-align: center !important;
}

.lineage-post > .post-actions > .icon-action span,
.lineage-post > .post-actions > .post-action span,
.lineage-post > .post-actions > button span,
.lineage-post > .post-actions > a span {
  line-height: 1 !important;
}

.lineage-post > .post-actions > .icon-action.markdown-action {
  flex: 0 0 2.15rem !important;
  width: 2.15rem !important;
  min-width: 2.15rem !important;
  max-width: 2.15rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.lineage-post > .post-actions > .icon-action.markdown-action span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .lineage-post > .post-actions {
    gap: 0.34rem !important;
    padding: 0.46rem 0.5rem !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a {
    width: 100% !important;
    min-width: 0 !important;
    height: 2.15rem !important;
    min-height: 2.15rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* Node action rows keep stable semantic groups.
   Non-mutating/read-only actions are icon-only to save width; mutating actions keep
   labels, with conditional mutating actions after the static mutating actions. */
.lineage-post > .post-actions > .icon-action.icon-only-action {
  flex: 0 0 2.25rem !important;
  width: 2.25rem !important;
  min-width: 2.25rem !important;
  max-width: 2.25rem !important;
  height: 2.25rem !important;
  min-height: 2.25rem !important;
  padding: 0 !important;
  justify-content: center !important;
  border-radius: 999px !important;
}

.lineage-post > .post-actions > .icon-action.icon-only-action i {
  margin: 0 !important;
  width: 1em !important;
  text-align: center !important;
}

.lineage-post > .post-actions > .icon-action.mutating-action {
  flex: 0 0 auto !important;
  min-width: max-content !important;
}

@media (max-width: 760px) {
  .lineage-post > .post-actions > .icon-action.icon-only-action {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}


/* Parent placement in Tree uses the same readable green affordance as Feed cards.
   The row itself remains the button, so this is a styled badge rather than a nested button. */
.tree-file-row.parent-pickable .tree-select-parent-hint {
  color: #8fffc0 !important;
  background: rgba(16, 185, 129, 0.11) !important;
  border-color: rgba(16, 185, 129, 0.48) !important;
  box-shadow: 0 0 0 1px rgba(16, 185, 129, 0.12) inset !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  min-height: 1.65rem !important;
  padding: 0.28rem 0.72rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.32rem !important;
}

.tree-file-row.parent-pickable .tree-select-parent-hint i {
  color: #8fffc0 !important;
  margin: 0 !important;
}

@media (max-width: 640px) {
  .tree-file-row.parent-pickable .tree-select-parent-hint {
    display: inline-flex !important;
    max-width: 9rem !important;
  }
}

/* CP158: Display filters are visible chips; dropdowns only add filters. */
.display-filter-picker {
  display: grid;
  gap: 0.55rem;
}

.display-filter-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.display-filter-chip,
.display-filter-clear {
  min-height: 1.75rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 999px;
  border: 1px solid rgba(216, 180, 254, 0.22);
  color: rgba(248, 246, 255, 0.92);
  background: rgba(168, 85, 247, 0.12);
  padding: 0.25rem 0.55rem;
  font: inherit;
  font-size: 0.76rem;
  line-height: 1;
}

button.display-filter-chip,
.display-filter-clear {
  cursor: pointer;
}

button.display-filter-chip:hover,
button.display-filter-chip:focus-visible,
.display-filter-clear:hover,
.display-filter-clear:focus-visible {
  border-color: rgba(22, 240, 226, 0.42);
  background: rgba(22, 240, 226, 0.08);
  color: rgba(255, 255, 255, 0.98);
}

.display-filter-chip i {
  font-size: 0.68rem;
  opacity: 0.78;
}

.display-filter-chip-all {
  color: var(--tv-muted);
  background: rgba(255,255,255,0.025);
  border-color: rgba(255,255,255,0.10);
}

.display-filter-clear {
  color: var(--tv-muted);
  background: rgba(255,255,255,0.025);
}

.display-options-filter-card .add-filter-select {
  margin-top: 0.05rem !important;
}

.display-options-filter-card .add-filter-select select:disabled {
  opacity: 0.62;
  cursor: not-allowed;
}

/* CP160: Temporal lens is a shared view option, not a simple date filter. */
.temporal-lens-card {
  border-color: rgba(22, 240, 226, 0.18) !important;
  background: linear-gradient(135deg, rgba(22, 240, 226, 0.035), rgba(168, 85, 247, 0.035)) !important;
}


.display-options-filter-card,
.display-option-row,
.temporal-lens-control {
  min-width: 0;
}

.temporal-lens-control {
  display: grid;
  gap: 0.55rem;
}

.temporal-lens-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.5rem;
  align-items: center;
  max-width: 100%;
}

.display-options-panel *,
.display-options-panel *::before,
.display-options-panel *::after {
  box-sizing: border-box;
}

.display-options-filter-card,
.display-option-row,
.temporal-lens-control {
  min-width: 0;
}

.display-options-panel .filter-select-wrap,
.display-options-panel .temporal-input-wrap,
.display-options-panel .tv-btn {
  min-width: 0;
}

.display-options-panel select,
.display-options-panel input {
  max-width: 100%;
}

.temporal-input-wrap {
  min-height: 2rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.6rem;
  padding: 0.32rem 0.72rem;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 999px;
  background: rgba(255,255,255,0.025);
  color: var(--tv-muted);
}

.temporal-input-wrap input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--tv-text);
  color-scheme: dark;
  font: inherit;
  font-size: 0.82rem;
}

.temporal-snapshot-ref-wrap {
  grid-column: span 2;
}

@media (max-width: 900px) {
  .temporal-snapshot-ref-wrap {
    grid-column: 1 / -1;
  }
}

.temporal-filter-chip,
.temporal-lens-chip {
  border-color: rgba(22, 240, 226, 0.34) !important;
  background: rgba(22, 240, 226, 0.08) !important;
  color: rgba(224, 255, 252, 0.95) !important;
}

.temporal-lens-notice {
  margin: 0.5rem 0 0.55rem;
  padding: 0.52rem 0.72rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.15rem;
  border: 1px solid rgba(22, 240, 226, 0.18);
  border-radius: 999px;
  background: rgba(22, 240, 226, 0.045);
  color: var(--tv-muted);
}

.temporal-lens-notice > i {
  color: rgba(22, 240, 226, 0.88);
  flex: 0 0 auto;
}

.temporal-lens-notice strong {
  color: var(--tv-text);
  white-space: nowrap;
}

.temporal-lens-notice span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .temporal-lens-grid {
    grid-template-columns: 1fr 1fr;
  }
  .temporal-lens-grid .temporal-mode-select,
  .temporal-input-wrap {
    grid-column: 1 / -1;
  }
}


@media (max-width: 900px) and (min-width: 421px) {
  .temporal-source-snapshot-btn {
    grid-column: 1 / -1;
    justify-content: center;
  }
}

@media (max-width: 420px) {
  .temporal-lens-grid {
    grid-template-columns: 1fr;
  }
  .temporal-lens-grid .tv-btn {
    width: 100%;
    justify-content: center;
  }
  .temporal-lens-notice {
    border-radius: 0.95rem;
    align-items: flex-start;
  }
  .temporal-lens-notice strong,
  .temporal-lens-notice span {
    white-space: normal;
  }
}

.feed-toolbar.lineage .toolbar-display-options {
  position: relative !important;
  flex: 0 0 auto !important;
  width: 2.1rem !important;
  min-width: 2.1rem !important;
  height: 2.1rem !important;
  min-height: 2.1rem !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
}

.feed-toolbar.lineage .toolbar-display-options > i {
  font-size: 0.9rem !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.feed-toolbar.lineage .toolbar-display-options small {
  right: -0.16rem !important;
  top: -0.22rem !important;
  min-width: 0.88rem !important;
  height: 0.88rem !important;
  font-size: 0.52rem !important;
}


/* CP173 compact source/discovery module rail.
   Source capability cards are context, not content. Keep them one-line so the
   workspace header does not steal vertical room, especially on mobile. */
.lineage-module-strip {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0.45rem !important;
  min-height: 2.15rem !important;
  padding: 0.34rem 0.8rem 0.38rem !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin !important;
}

.lineage-module-card {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.42rem !important;
  width: auto !important;
  max-width: min(100%, 28rem) !important;
  min-height: 1.76rem !important;
  padding: 0.32rem 0.58rem !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.lineage-module-card > i {
  flex: 0 0 auto !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.lineage-module-card > div {
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 0.24rem !important;
  overflow: hidden !important;
}

.lineage-module-card strong,
.lineage-module-card span,
.lineage-module-card small {
  display: inline-block !important;
  margin: 0 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.lineage-module-card strong {
  flex: 0 0 auto !important;
  font-size: 0.77rem !important;
}

.lineage-module-card strong::after {
  content: '·' !important;
  margin-left: 0.24rem !important;
  color: rgba(148, 163, 184, 0.7) !important;
}

.lineage-module-card span {
  min-width: 0 !important;
  max-width: 12rem !important;
  font-size: 0.74rem !important;
}

.lineage-module-card small {
  min-width: 0 !important;
  max-width: 14rem !important;
  font-size: 0.68rem !important;
  color: rgba(203, 213, 225, 0.58) !important;
}

@media (max-width: 760px) {
  .lineage-module-strip {
    min-height: 1.84rem !important;
    padding: 0.22rem 0.62rem 0.22rem !important;
    scrollbar-width: none !important;
  }

  .lineage-module-strip::-webkit-scrollbar {
    display: none !important;
  }

  .lineage-module-card {
    min-height: 1.42rem !important;
    max-width: min(84vw, 17rem) !important;
    padding: 0.18rem 0.48rem !important;
  }

  .lineage-module-card > div {
    align-items: center !important;
    gap: 0.18rem !important;
  }

  .lineage-module-card strong,
  .lineage-module-card span {
    font-size: 0.64rem !important;
  }

  .lineage-module-card small {
    display: none !important;
  }
}

/* CP173 portal resolver: Display Options asks for the desired time only;
   source-specific GitHub ref resolution happens in a separate adapter lightbox. */
.temporal-lens-grid-clean {
  grid-template-columns: minmax(14rem, 1fr) auto auto !important;
}

.temporal-lens-grid-clean .temporal-asof-only {
  min-width: 0 !important;
}

.portal-resolver-panel {
  width: min(620px, calc(100vw - 2rem));
  max-height: min(88dvh, 620px);
  overflow: hidden;
}

.portal-resolver-head {
  align-items: flex-start;
}

.portal-resolver-body {
  display: grid;
  gap: 0.85rem;
  padding: 1rem 1.08rem 1.12rem;
  color: var(--tv-muted);
}

.portal-resolver-body p,
.portal-resolver-body small {
  margin: 0;
  line-height: 1.45;
}

.portal-resolver-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.portal-ref-input-wrap {
  display: grid;
  gap: 0.35rem;
}

.portal-ref-input-wrap span {
  color: var(--tv-text);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.portal-ref-input-wrap input {
  width: 100%;
  min-height: 2.55rem;
  padding: 0.62rem 0.78rem;
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 0.9rem;
  outline: 0;
  background: rgba(255,255,255,0.035);
  color: var(--tv-text);
  font: inherit;
}

.portal-ref-input-wrap input:focus {
  border-color: rgba(168, 85, 247, 0.5);
  box-shadow: 0 0 0 2px rgba(168, 85, 247, 0.12);
}

.portal-resolver-error {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.58rem 0.7rem;
  border: 1px solid rgba(248, 113, 113, 0.25);
  border-radius: 0.85rem;
  background: rgba(248, 113, 113, 0.08);
  color: rgba(254, 202, 202, 0.95);
  font-size: 0.82rem;
}

@media (max-width: 640px) {
  .temporal-lens-grid-clean {
    grid-template-columns: 1fr 1fr !important;
  }

  .temporal-lens-grid-clean .temporal-asof-only {
    grid-column: 1 / -1 !important;
  }

  .portal-resolver-panel {
    width: min(96vw, calc(100vw - 1rem));
  }
}

/* CP174: compact source strip and stable toolbar geometry. */
.workspace-source-strip {
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  min-width: 0 !important;
  padding-top: 0.38rem !important;
  padding-bottom: 0.12rem !important;
}

.workspace-source-pill {
  min-width: 0 !important;
  max-width: min(100%, 27rem) !important;
  white-space: nowrap !important;
}

.workspace-source-pill > span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.workspace-source-pill small,
.workspace-source-pill .source-close-btn {
  flex: 0 0 auto !important;
}

/* CP174: Time portal range inputs stay on one row on normal panels. */
.temporal-range-grid {
  grid-template-columns: minmax(11rem, 1fr) minmax(11rem, 1fr) auto auto !important;
}

.temporal-range-grid .temporal-range-input {
  min-width: 0 !important;
}

@media (max-width: 760px) {
  .temporal-range-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
  .temporal-range-grid .tv-btn {
    width: 100% !important;
    justify-content: center !important;
  }
}

@media (max-width: 420px) {
  .temporal-range-grid {
    grid-template-columns: 1fr !important;
  }
}

/* CP175 audit + compact Display Options polish. */
.display-options-panel {
  width: min(860px, calc(100vw - 1.4rem)) !important;
  max-width: min(860px, calc(100vw - 1.4rem)) !important;
}

.display-options-head {
  padding: 0.82rem 1.05rem !important;
}

.display-options-head .kicker {
  margin-bottom: 0.18rem !important;
}

.display-options-head .modal-title-lite {
  font-size: 1.26rem !important;
  line-height: 1.06 !important;
}

.display-options-head .text-secondary {
  font-size: 0.9rem !important;
  line-height: 1.25 !important;
}

.display-options-body {
  gap: 0.48rem !important;
  padding: 0.72rem 1.02rem 0.92rem !important;
}

.display-options-section-label {
  margin: 0.12rem 0 -0.18rem !important;
  font-size: 0.68rem !important;
}

.display-options-filter-card,
.display-option-row {
  padding: 0.56rem 0.68rem !important;
  border-radius: 0.82rem !important;
}

.display-option-row strong {
  font-size: 0.86rem !important;
}

.display-option-row small {
  margin-top: 0.1rem !important;
  font-size: 0.78rem !important;
  line-height: 1.24 !important;
}

.display-options-filter-card.compact-filter-card {
  min-height: 0 !important;
}

.display-filter-picker.compact {
  display: grid !important;
  grid-template-columns: minmax(10rem, max-content) minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 0.7rem !important;
  row-gap: 0.36rem !important;
}

.display-filter-picker.compact .filter-select-wrap {
  width: auto !important;
  min-width: 10rem !important;
  max-width: 18rem !important;
  display: inline-grid !important;
  grid-template-columns: auto max-content !important;
  gap: 0.48rem !important;
  padding: 0.35rem 0.52rem !important;
  border-radius: 999px !important;
}

.display-filter-picker.compact .filter-select-wrap span {
  font-size: 0.76rem !important;
}

.display-filter-picker.compact .filter-select-wrap select {
  width: auto !important;
  min-width: 7.2rem !important;
  max-width: 13rem !important;
}

.display-filter-picker.compact .display-filter-chip-row {
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 0.35rem !important;
  min-width: 0 !important;
}

.display-filter-chip {
  min-height: 1.5rem !important;
  padding: 0.22rem 0.5rem !important;
  font-size: 0.72rem !important;
}

.temporal-lens-card {
  padding: 0.62rem 0.68rem !important;
}

.temporal-lens-control {
  gap: 0.44rem !important;
}

.temporal-range-grid,
.temporal-lens-grid.temporal-range-grid {
  display: grid !important;
  grid-template-columns: minmax(11rem, 1fr) minmax(11rem, 1fr) auto auto !important;
  gap: 0.46rem !important;
  align-items: center !important;
}

.temporal-input-wrap {
  min-height: 2.15rem !important;
  padding: 0.3rem 0.55rem !important;
  border-radius: 999px !important;
}

.temporal-input-wrap input {
  font-size: 0.82rem !important;
}

.temporal-lens-control > small {
  font-size: 0.78rem !important;
  line-height: 1.3 !important;
}

.lineage-audit-summary {
  margin: 0.45rem 0 0.55rem !important;
  padding: 0.5rem 0.68rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.48rem !important;
  border: 1px solid rgba(74, 222, 128, 0.22) !important;
  border-radius: 0.9rem !important;
  background: rgba(34, 197, 94, 0.06) !important;
  color: rgba(226, 252, 232, 0.92) !important;
  font-size: 0.84rem !important;
}

.lineage-audit-summary.has-mismatch {
  border-color: rgba(248, 113, 113, 0.28) !important;
  background: rgba(248, 113, 113, 0.08) !important;
  color: rgba(254, 226, 226, 0.95) !important;
}

.lineage-audit-summary strong {
  white-space: nowrap !important;
}

.lineage-audit-summary span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.audit-lineage-btn.running {
  color: rgba(216, 180, 254, 0.98) !important;
  border-color: rgba(168, 85, 247, 0.34) !important;
  background: rgba(88, 28, 135, 0.16) !important;
}

.feed-toolbar.lineage .lineage-search-wrap {
  display: grid !important;
  grid-template-columns: 2.1rem 2.1rem minmax(0, 280px) !important;
  align-items: center !important;
  gap: 0.55rem !important;
}

.feed-toolbar.lineage .lineage-search-wrap::before {
  content: none !important;
  display: none !important;
}

.feed-toolbar.lineage .lineage-search-wrap > .toolbar-display-options {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: center !important;
}

.feed-toolbar.lineage .lineage-search-wrap > .preview-toggle {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: center !important;
}

.feed-toolbar.lineage .lineage-search-wrap > .search-box {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

.temporal-lens-notice.compact {
  display: grid !important;
  grid-template-columns: auto auto minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 2rem !important;
  gap: 0.42rem !important;
  padding: 0.42rem 0.62rem !important;
}

.temporal-lens-notice.compact strong,
.temporal-lens-notice.compact span {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 640px) {
  .display-options-panel {
    width: calc(100vw - 0.7rem) !important;
    max-width: calc(100vw - 0.7rem) !important;
    max-height: min(94dvh, 860px) !important;
  }

  .display-options-head {
    padding: 0.72rem 0.86rem !important;
  }

  .display-options-head .text-secondary {
    display: none !important;
  }

  .display-options-body {
    padding: 0.62rem 0.72rem 0.82rem !important;
    gap: 0.42rem !important;
  }

  .display-filter-picker.compact {
    grid-template-columns: 1fr !important;
    gap: 0.36rem !important;
  }

  .display-filter-picker.compact .filter-select-wrap {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  .display-filter-picker.compact .filter-select-wrap select {
    width: 100% !important;
    max-width: none !important;
  }

  .display-option-row {
    gap: 0.55rem !important;
  }

  .display-option-row small {
    display: none !important;
  }

  .temporal-range-grid,
  .temporal-lens-grid.temporal-range-grid {
    grid-template-columns: 1fr !important;
  }

  .temporal-lens-grid .tv-btn,
  .temporal-lens-grid.temporal-range-grid .tv-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .temporal-lens-notice.compact {
    grid-template-columns: auto minmax(0, 1fr) !important;
    border-radius: 0.86rem !important;
  }

  .temporal-lens-notice.compact strong {
    grid-column: 2 !important;
    font-size: 0.86rem !important;
  }

  .temporal-lens-notice.compact span {
    grid-column: 2 !important;
    font-size: 0.78rem !important;
  }

  .lineage-audit-summary {
    align-items: flex-start !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 0.25rem 0.45rem !important;
  }

  .lineage-audit-summary span {
    grid-column: 2 !important;
    white-space: normal !important;
  }
}

/* CP176: interval guardrails, mobile filter polish, and unified Lineage toolbar actions. */
.feed-toolbar.lineage .lineage-search-wrap.lineage-action-tools {
  display: grid !important;
  grid-template-columns: 2.1rem 2.1rem 2.1rem minmax(0, 280px) !important;
  align-items: center !important;
  gap: 0.5rem !important;
  width: min(100%, calc(2.1rem * 3 + 0.5rem * 3 + 280px)) !important;
  max-width: calc(2.1rem * 3 + 0.5rem * 3 + 280px) !important;
  justify-self: end !important;
}

.feed-toolbar.lineage .lineage-action-tools > .audit-lineage-btn {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 2.1rem !important;
  min-width: 2.1rem !important;
  height: 2.1rem !important;
  min-height: 2.1rem !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.feed-toolbar.lineage .lineage-action-tools > .toolbar-display-options {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: center !important;
}

.feed-toolbar.lineage .lineage-action-tools > .preview-toggle {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: center !important;
}

.feed-toolbar.lineage .lineage-action-tools > .search-box {
  grid-column: 4 !important;
  grid-row: 1 !important;
  justify-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

.feed-toolbar.lineage .lineage-action-tools > .search-box input {
  width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 640px) {
  .feed-toolbar.lineage .lineage-search-wrap.lineage-action-tools {
    grid-template-columns: 2.1rem 2.1rem 2.1rem minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 420px) {
  .feed-toolbar.lineage .lineage-search-wrap.lineage-action-tools {
    gap: 0.42rem !important;
    grid-template-columns: 2rem 2rem 2rem minmax(0, 1fr) !important;
  }

  .feed-toolbar.lineage .lineage-action-tools > .audit-lineage-btn,
  .feed-toolbar.lineage .lineage-action-tools > .toolbar-display-options,
  .feed-toolbar.lineage .lineage-action-tools > .preview-toggle {
    width: 2rem !important;
    min-width: 2rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
  }
}

.display-options-filter-card.compact-filter-card {
  overflow: visible !important;
}

@media (max-width: 640px) {
  .display-filter-picker.compact {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.32rem !important;
  }

  .display-filter-picker.compact .display-filter-chip-row {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.32rem !important;
    min-height: 1.45rem !important;
    padding-top: 0.02rem !important;
  }

  .display-filter-picker.compact .display-filter-chip,
  .display-filter-picker.compact .display-filter-clear {
    max-width: 100% !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 380px) {
  .display-options-head {
    grid-template-columns: minmax(0, 1fr) 2.5rem !important;
  }

  .display-options-head .modal-title-lite {
    font-size: 1.08rem !important;
  }

  .display-options-filter-card,
  .display-option-row,
  .temporal-lens-card {
    padding-left: 0.52rem !important;
    padding-right: 0.52rem !important;
  }
}

/* CP178: route-safe Lineage toolbar and low-emphasis audit action. */
.feed-toolbar.lineage,
.feed-toolbar.lineage.feed-toolbar-foundation,
.feed-toolbar.lineage.feed-toolbar-shell,
.feed-toolbar.lineage.feed-toolbar-layout {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 0.65rem !important;
  row-gap: 0.5rem !important;
}

.feed-toolbar.lineage .feed-mode.mobile-lineage-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  width: auto !important;
  min-width: 0 !important;
  justify-content: flex-start !important;
  position: relative !important;
  z-index: 2 !important;
}

.feed-toolbar.lineage .back-button {
  position: relative !important;
  z-index: 4 !important;
  pointer-events: auto !important;
}

.feed-toolbar.lineage .lineage-search-wrap.lineage-action-tools {
  grid-column: 2 !important;
  display: grid !important;
  grid-template-columns: 2.05rem 2.05rem 2.05rem minmax(0, 280px) !important;
  align-items: center !important;
  justify-content: end !important;
  justify-self: end !important;
  gap: 0.48rem !important;
  min-width: 0 !important;
  width: min(100%, calc(2.05rem * 3 + 0.48rem * 3 + 280px)) !important;
  max-width: calc(2.05rem * 3 + 0.48rem * 3 + 280px) !important;
  position: relative !important;
  z-index: 1 !important;
}

.feed-toolbar.lineage .lineage-action-tools > .audit-lineage-btn,
.feed-toolbar.lineage .lineage-action-tools > .toolbar-display-options,
.feed-toolbar.lineage .lineage-action-tools > .preview-toggle {
  position: relative !important;
  z-index: 1 !important;
  width: 2.05rem !important;
  min-width: 2.05rem !important;
  height: 2.05rem !important;
  min-height: 2.05rem !important;
  margin: 0 !important;
}

.feed-toolbar.lineage .lineage-action-tools > .audit-lineage-btn,
.feed-toolbar.lineage .lineage-action-tools > .audit-lineage-btn.open,
.feed-toolbar.lineage .lineage-action-tools > .audit-lineage-btn.running {
  color: rgba(216, 180, 254, 0.88) !important;
  border-color: rgba(168, 85, 247, 0.24) !important;
  background:
    radial-gradient(circle at 35% 0%, rgba(168, 85, 247, 0.14), transparent 62%),
    rgba(27, 23, 37, 0.70) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.025) !important;
}

.feed-toolbar.lineage .lineage-action-tools > .audit-lineage-btn:hover,
.feed-toolbar.lineage .lineage-action-tools > .audit-lineage-btn:focus-visible {
  color: rgba(245, 232, 255, 0.96) !important;
  border-color: rgba(216, 180, 254, 0.36) !important;
  background: rgba(88, 28, 135, 0.18) !important;
  box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.10) !important;
}

.feed-toolbar.lineage .lineage-action-tools > .audit-lineage-btn.running i {
  animation: tiinex-spin 0.95s linear infinite;
}

@keyframes tiinex-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 640px) {
  .feed-toolbar.lineage,
  .feed-toolbar.lineage.feed-toolbar-foundation,
  .feed-toolbar.lineage.feed-toolbar-shell,
  .feed-toolbar.lineage.feed-toolbar-layout {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
  }

  .feed-toolbar.lineage .feed-mode.mobile-lineage-actions {
    width: 100% !important;
  }

  .feed-toolbar.lineage .lineage-search-wrap.lineage-action-tools {
    grid-column: 1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: 2rem 2rem 2rem minmax(0, 1fr) !important;
  }
}

/* CP197: adapter-capability export surface */
.export-adapter-panel {
  width: min(94vw, 980px);
  max-height: min(88vh, 920px);
}

.export-adapter-body {
  padding: 0.8rem 1rem;
  gap: 0.72rem;
}

.compact-export-head {
  padding-bottom: 0.72rem;
}

.export-capability-section {
  display: grid;
  gap: 0.55rem;
}

.export-capability-section h3,
.export-selection-section h3,
.github-outbound-drafts-section h3,
.export-adapter-boundary h3 {
  margin: 0;
  font-size: 0.88rem;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  color: rgba(216,180,254,0.88);
}

.export-capability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.62rem;
}

.export-capability-card {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.16rem 0.6rem;
  align-items: start;
  text-align: left;
  border: 1px solid rgba(216,180,254,0.14);
  border-radius: 0.95rem;
  padding: 0.7rem;
  background: rgba(255,255,255,0.025);
  color: rgba(248,246,255,0.92);
  cursor: pointer;
}

.export-capability-card .export-capability-icon {
  width: 2rem;
  height: 2rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(168,85,247,0.13);
  color: rgba(216,180,254,0.95);
  grid-row: span 3;
}

.export-capability-card strong,
.export-capability-card small,
.export-capability-card em {
  min-width: 0;
  display: block;
}

.export-capability-card small,
.export-capability-card em {
  color: var(--tv-muted);
  line-height: 1.3;
  font-size: 0.76rem;
}

.export-capability-card em {
  color: rgba(196,181,253,0.88);
  font-style: normal;
}

.export-capability-card.active {
  border-color: rgba(216,180,254,0.50);
  background: rgba(168,85,247,0.15);
  box-shadow: 0 0 0 1px rgba(216,180,254,0.10), 0 0 18px rgba(168,85,247,0.10);
}

.compact-export-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.export-source-list-inline {
  margin-top: 0.65rem;
}

.export-capability-kv {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0.6rem 0;
}

.export-capability-kv span {
  display: block;
  border: 1px solid rgba(216,180,254,0.10);
  border-radius: 0.72rem;
  padding: 0.55rem 0.65rem;
  background: rgba(12,10,20,0.30);
}

.export-capability-kv strong,
.export-capability-kv small {
  display: block;
}

.export-capability-kv small {
  color: var(--tv-muted);
  font-size: 0.75rem;
  line-height: 1.3;
}

.github-outbound-drafts-section {
  display: grid;
  gap: 0.55rem;
}

.github-draft-details {
  border: 1px solid rgba(216,180,254,0.13);
  border-radius: 0.82rem;
  background: rgba(255,255,255,0.018);
  overflow: hidden;
}

.github-draft-details > summary {
  cursor: pointer;
  list-style: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.16rem;
  padding: 0.65rem 0.75rem;
}

.github-draft-details > summary::-webkit-details-marker { display: none; }

.github-draft-details > summary span,
.github-draft-details > summary small {
  display: block;
  min-width: 0;
}

.github-draft-details > summary span {
  font-weight: 800;
  color: rgba(248,246,255,0.94);
}

.github-draft-details > summary span i {
  margin-right: 0.45rem;
  color: rgba(52,211,153,0.95);
}

.github-draft-details > summary small {
  color: var(--tv-muted);
  line-height: 1.3;
}

.github-draft-panel-body {
  border-top: 1px solid rgba(216,180,254,0.10);
  padding: 0.7rem;
  display: grid;
  gap: 0.65rem;
}

.github-draft-pre {
  max-height: min(32vh, 320px);
}

.compact-inline-actions {
  border-top: 0;
  padding: 0;
  margin: 0;
}

.export-adapter-actions {
  align-items: center;
  justify-content: flex-start;
}

@media (max-width: 760px) {
  .export-adapter-panel {
    width: min(96vw, 430px);
    max-height: 92vh;
  }
  .export-adapter-body {
    padding: 0.7rem;
    gap: 0.62rem;
  }
  .export-capability-grid,
  .compact-export-grid,
  .export-capability-kv,
  .export-summary {
    grid-template-columns: 1fr;
  }
  .export-capability-card,
  .export-mode-card,
  .export-choice-pill {
    padding: 0.62rem;
  }
  .export-section {
    padding: 0.65rem;
  }
  .github-draft-pre {
    max-height: 22vh;
  }
  .export-adapter-actions {
    position: sticky;
    bottom: 0;
    background: rgba(16,14,26,0.96);
    backdrop-filter: blur(14px);
  }
  .export-adapter-actions .tv-btn {
    width: 100%;
    justify-content: center;
  }
}

/* CP199 staged export adapter workflow */
.staged-export-panel {
  width: min(92vw, 860px);
  max-height: min(88vh, 760px);
}

.staged-export-head {
  padding-bottom: 0.85rem;
}

.export-wizard-body {
  padding: 0.85rem 1rem;
  gap: 0.7rem;
}

.export-step-rail {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  align-items: center;
}

.export-step-pill {
  border: 1px solid rgba(173, 123, 255, 0.22);
  background: rgba(255, 255, 255, 0.035);
  color: var(--muted);
  border-radius: 999px;
  padding: 0.28rem 0.7rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.export-step-pill.active {
  color: #fff;
  border-color: rgba(190, 127, 255, 0.72);
  background: rgba(141, 70, 210, 0.24);
  box-shadow: 0 0 0 1px rgba(190, 127, 255, 0.12) inset;
}

.export-setup-section h3,
.export-execute-card h3 {
  margin-bottom: 0.48rem;
}

.compact-capability-grid,
.compact-mode-grid,
.compact-choice-grid,
.compact-surface-grid,
.github-access-grid {
  gap: 0.55rem;
}

.compact-mode-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.compact-choice-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0.5rem;
}

.compact-source-list {
  margin-top: 0.55rem;
  max-height: 150px;
  overflow: auto;
}

.compact-password-field {
  margin-top: 0.6rem;
}

.compact-export-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0.65rem;
}

.export-flow-note,
.export-encryption-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
}

.execute-wizard-body {
  gap: 0.8rem;
}

.export-execute-card {
  border-color: rgba(42, 201, 166, 0.26);
  background: linear-gradient(180deg, rgba(42, 201, 166, 0.055), rgba(255, 255, 255, 0.025));
}

.export-routine-list {
  margin: 0.25rem 0 0.55rem;
  padding-left: 1.2rem;
  color: var(--text);
}

.export-routine-list li {
  margin: 0.22rem 0;
}

.compact-kv {
  margin-top: 0.65rem;
}

.github-draft-details {
  border: 1px solid rgba(173, 123, 255, 0.18);
  border-radius: 14px;
  background: rgba(8, 7, 14, 0.36);
  overflow: hidden;
}

.github-draft-details + .github-draft-details,
.compact-issue-url + .github-draft-details {
  margin-top: 0.6rem;
}

.github-draft-details summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.github-draft-details summary::-webkit-details-marker {
  display: none;
}

.github-draft-details summary span {
  display: flex;
  gap: 0.55rem;
  align-items: center;
}

.github-draft-details summary i {
  color: #42d6b0;
}

.github-draft-details summary small {
  color: var(--muted);
  white-space: nowrap;
}

.github-draft-details > p,
.github-draft-details > .modal-footer-actions,
.github-draft-details > .github-draft-title-row,
.github-draft-details > pre {
  margin-left: 0.85rem;
  margin-right: 0.85rem;
}

.github-draft-title-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.6rem;
  align-items: center;
  color: var(--muted);
  font-size: 0.85rem;
  margin-top: 0.65rem;
}

.github-draft-title-row code {
  color: var(--text);
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 0.25rem 0.45rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

.compact-draft-pre {
  max-height: 26vh;
  margin-top: 0.65rem;
}

.compact-github-drafts {
  padding: 0.75rem;
}

.compact-issue-url {
  margin-top: 0.7rem;
}

.staged-export-actions {
  gap: 0.55rem;
}

.staged-export-actions .tv-btn.primary i.fa-arrow-right {
  margin-left: 0.3rem;
}

@media (max-width: 760px) {
  .staged-export-panel {
    width: min(96vw, 430px);
    max-height: 90vh;
  }

  .staged-export-head {
    padding: 0.8rem;
  }

  .export-wizard-body {
    padding: 0.65rem;
  }

  .compact-mode-grid,
  .compact-choice-grid,
  .compact-export-summary,
  .github-access-grid {
    grid-template-columns: 1fr;
  }

  .github-draft-details summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .compact-draft-pre {
    max-height: 22vh;
  }

  .staged-export-actions {
    flex-direction: column;
  }
}

/* CP200: source/export polish. Keep source rails from jumping during adapter/source state changes. */
.workspace-source-strip.source-strip-stable {
  min-height: 2.05rem !important;
  align-items: center !important;
  box-sizing: border-box !important;
  transition: none !important;
}
.workspace-source-strip.source-strip-stable.source-strip-empty {
  visibility: hidden !important;
  pointer-events: none !important;
}
.workspace-source-strip.source-strip-stable.source-strip-empty::before {
  content: '';
  display: block;
  width: 1px;
  height: 1.2rem;
}
.workspace-source-pill {
  transition: none !important;
}
@media (max-width: 640px) {
  .workspace-source-strip.source-strip-stable {
    min-height: 1.82rem !important;
    padding-top: 0.22rem !important;
    padding-bottom: 0.1rem !important;
  }
  .workspace.single-source-state .workspace-source-strip.source-strip-stable,
  body.mobile-chrome .workspace.single-source-state .workspace-source-strip.source-strip-stable,
  body.mobile-lens .workspace.single-source-state .workspace-source-strip.source-strip-stable {
    display: flex !important;
    max-height: none !important;
    min-height: 1.82rem !important;
    height: auto !important;
    opacity: 1 !important;
    padding: 0.22rem 0.75rem 0.1rem !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: auto !important;
  }
}

/* CP200: compact GitHub export setup. Adapter options are capability rows, not huge cards. */
.github-setup-compact {
  padding: 0.68rem 0.75rem !important;
}
.github-compact-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  align-items: start;
}
.github-compact-group {
  min-width: 0;
  display: grid;
  gap: 0.42rem;
}
.github-compact-group h3 {
  margin: 0 !important;
  font-size: 0.78rem !important;
  line-height: 1.1 !important;
}
.github-compact-option-grid {
  display: grid;
  gap: 0.38rem;
}
.github-compact-option {
  min-width: 0;
  display: grid;
  grid-template-columns: 1.55rem minmax(0, 1fr);
  gap: 0.48rem;
  align-items: center;
  border: 1px solid rgba(216, 180, 254, 0.13);
  border-radius: 0.72rem;
  padding: 0.48rem 0.55rem;
  background: rgba(255,255,255,0.023);
  color: rgba(248,246,255,0.92);
  text-align: left;
  cursor: pointer;
}
.github-compact-option.active {
  border-color: rgba(216,180,254,0.54);
  background: rgba(168,85,247,0.16);
  box-shadow: inset 0 0 0 1px rgba(216,180,254,0.09);
}
.github-compact-option.disabled,
.export-capability-card.disabled,
.export-access-card.disabled,
.github-surface-card.disabled {
  opacity: 0.46 !important;
  filter: grayscale(0.35);
  cursor: not-allowed !important;
  border-style: dashed !important;
  background: rgba(255,255,255,0.015) !important;
  box-shadow: none !important;
}
.github-compact-option.disabled.active,
.export-capability-card.disabled.active,
.export-access-card.disabled.active,
.github-surface-card.disabled.active {
  border-color: rgba(216,180,254,0.13) !important;
  background: rgba(255,255,255,0.015) !important;
}
.github-compact-icon {
  width: 1.55rem;
  height: 1.55rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(168,85,247,0.13);
  color: rgba(216,180,254,0.95);
}
.github-compact-copy {
  min-width: 0;
  display: grid;
  gap: 0.04rem;
}
.github-compact-copy strong,
.github-compact-copy small,
.github-compact-copy em {
  min-width: 0;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.github-compact-copy strong {
  font-size: 0.92rem;
}
.github-compact-copy small,
.github-compact-copy em {
  color: var(--tv-muted);
  font-size: 0.72rem;
  line-height: 1.18;
}
.github-compact-copy em {
  color: rgba(196,181,253,0.86);
  font-style: normal;
}
.github-compact-note {
  margin-top: 0.55rem !important;
  font-size: 0.78rem !important;
  line-height: 1.28 !important;
}
.staged-export-panel {
  max-height: min(86vh, 700px) !important;
}
.staged-export-head {
  padding: 0.78rem 1rem 0.68rem !important;
}
.staged-export-head .modal-title-lite {
  line-height: 1.05 !important;
}
.staged-export-head .text-secondary {
  font-size: 0.92rem !important;
  line-height: 1.34 !important;
}
.export-wizard-body {
  padding: 0.68rem 0.9rem !important;
  gap: 0.58rem !important;
}
.compact-capability-grid,
.compact-mode-grid,
.compact-choice-grid {
  gap: 0.45rem !important;
}
.compact-capability-grid .export-capability-card,
.compact-mode-grid .export-mode-card,
.compact-choice-grid .export-choice-pill {
  padding: 0.56rem 0.62rem !important;
}
.compact-export-summary {
  padding: 0.52rem !important;
  gap: 0.42rem !important;
}
.compact-export-summary div {
  padding: 0.45rem 0.55rem !important;
}
@media (max-width: 760px) {
  .staged-export-panel {
    width: min(96vw, 390px) !important;
    max-height: 92dvh !important;
  }
  .staged-export-head {
    padding: 0.68rem 0.75rem 0.58rem !important;
  }
  .staged-export-head .text-secondary {
    font-size: 0.84rem !important;
  }
  .export-wizard-body {
    padding: 0.56rem !important;
    gap: 0.48rem !important;
  }
  .github-compact-row {
    grid-template-columns: 1fr;
    gap: 0.52rem;
  }
  .github-compact-option {
    padding: 0.42rem 0.5rem;
  }
  .github-compact-copy strong {
    font-size: 0.86rem;
  }
  .github-compact-copy small,
  .github-compact-copy em {
    white-space: normal;
  }
  .compact-export-summary {
    grid-template-columns: 1fr 1fr !important;
  }
  .staged-export-actions .tv-btn {
    min-height: 2.7rem;
  }
}
@media (max-width: 420px) {
  .staged-export-panel {
    width: calc(100vw - 0.7rem) !important;
  }
  .compact-export-summary {
    grid-template-columns: 1fr !important;
  }
  .export-step-pill {
    font-size: 0.72rem !important;
    padding: 0.24rem 0.55rem !important;
  }
}

/* CP201: export dialog viewport fit + scroll-state stability. */
.staged-export-panel {
  width: min(97vw, 1120px) !important;
  max-height: min(94dvh, 940px) !important;
}
.staged-export-head {
  padding: 0.66rem 0.92rem 0.54rem !important;
}
.staged-export-head .kicker {
  margin-bottom: 0.18rem !important;
}
.staged-export-head .modal-title-lite {
  font-size: clamp(1.04rem, 1.8vw, 1.28rem) !important;
}
.staged-export-head .text-secondary {
  font-size: 0.88rem !important;
  line-height: 1.26 !important;
}
.export-wizard-body {
  padding: 0.55rem 0.78rem !important;
  gap: 0.45rem !important;
  scroll-behavior: auto !important;
}
.export-step-rail {
  gap: 0.36rem !important;
}
.export-step-pill {
  padding: 0.22rem 0.56rem !important;
  font-size: 0.74rem !important;
}
.export-section.export-setup-section,
.export-section.export-execute-card,
.github-outbound-drafts-section {
  padding: 0.54rem 0.62rem !important;
  border-radius: 0.75rem !important;
}
.export-setup-section h3,
.export-execute-card h3,
.github-outbound-drafts-section h3 {
  margin-bottom: 0.34rem !important;
  font-size: 0.86rem !important;
}
.compact-capability-grid,
.compact-mode-grid,
.compact-choice-grid,
.github-compact-row,
.github-compact-option-grid,
.github-access-grid {
  gap: 0.36rem !important;
}
.compact-capability-grid .export-capability-card,
.compact-mode-grid .export-mode-card,
.compact-choice-grid .export-choice-pill {
  padding: 0.45rem 0.52rem !important;
  border-radius: 0.72rem !important;
}
.export-mode-card > span,
.export-capability-icon,
.github-compact-icon {
  width: 1.5rem !important;
  height: 1.5rem !important;
}
.export-mode-card strong,
.export-capability-card strong,
.export-choice-pill strong,
.github-compact-copy strong {
  font-size: 0.88rem !important;
}
.export-mode-card small,
.export-capability-card small,
.export-choice-pill small,
.github-compact-copy small,
.github-compact-copy em {
  font-size: 0.71rem !important;
  line-height: 1.15 !important;
}
.compact-choice-grid {
  margin-top: 0.36rem !important;
}
.compact-export-summary {
  padding: 0.42rem !important;
  gap: 0.34rem !important;
}
.compact-export-summary div {
  padding: 0.36rem 0.48rem !important;
  border-radius: 0.62rem !important;
}
.compact-export-summary strong {
  font-size: 0.93rem !important;
}
.compact-export-summary span {
  font-size: 0.72rem !important;
}
.export-flow-note,
.export-encryption-note,
.github-compact-note {
  font-size: 0.78rem !important;
  line-height: 1.22 !important;
}
.staged-export-actions {
  padding: 0.6rem 0.8rem !important;
}
@media (min-width: 900px) {
  .staged-export-panel {
    max-height: min(94dvh, 900px) !important;
  }
  .export-wizard-body:not(.execute-wizard-body) {
    overflow-y: auto;
  }
}
@media (max-width: 760px) {
  .staged-export-panel {
    width: min(98vw, 430px) !important;
    max-height: 95dvh !important;
  }
  .export-wizard-body {
    padding: 0.48rem !important;
    gap: 0.4rem !important;
  }
  .staged-export-actions {
    padding: 0.55rem 0.62rem !important;
  }
}

/* CP202 guided GitHub export routine */
.single-capability-row {
  grid-template-columns: 1fr;
}
.github-guided-execute-body .export-execute-card,
.github-export-routine-card {
  padding: 0.85rem 1rem;
}
.github-routine-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.55rem;
}
.github-routine-head h3 {
  margin: 0;
}
.github-routine-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0.7rem 0;
}
.github-checklist-routine {
  margin: 0.5rem 0;
  padding-left: 1.25rem;
}
.github-checklist-routine li {
  margin: 0.28rem 0;
}
.github-checklist-routine li.done {
  color: var(--ok, #66e0a3);
}
.github-checklist-routine li.done::marker {
  content: "✓ ";
}
.github-published-url-field {
  margin: 0.65rem 0;
}
.github-draft-details.compact {
  margin-top: 0.65rem;
}
.github-verified-list {
  list-style: none;
  margin: 0.65rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}
.github-verified-list li {
  border: 1px solid rgba(191, 151, 255, 0.16);
  background: rgba(255,255,255,0.035);
  border-radius: 0.9rem;
  padding: 0.55rem 0.7rem;
  display: grid;
  gap: 0.2rem;
}
.github-verified-list small {
  color: var(--muted, #aaa2b7);
  overflow-wrap: anywhere;
}
@media (max-width: 640px) {
  .github-routine-head {
    display: grid;
  }
  .github-routine-actions .tv-btn,
  .github-routine-actions a.tv-btn {
    width: 100%;
    justify-content: center;
  }
}

/* CP203 GitHub export target resolver + checklist rows */
.github-target-resolver {
  border: 1px solid rgba(100, 230, 190, 0.18);
  background: rgba(50, 160, 140, 0.055);
  border-radius: 1rem;
  padding: 0.65rem;
  margin: 0.65rem 0;
}
.github-target-mode-row,
.github-target-known-list {
  display: grid;
  gap: 0.5rem;
}
.github-target-mode-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.github-target-mode,
.github-target-chip {
  border: 1px solid rgba(191, 151, 255, 0.18);
  background: rgba(255,255,255,0.035);
  color: var(--text, #f4efff);
  border-radius: 0.85rem;
  padding: 0.56rem 0.65rem;
  text-align: left;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 0.55rem;
  row-gap: 0.12rem;
  align-items: start;
}
.github-target-mode i,
.github-target-chip i {
  grid-row: 1 / span 2;
  color: var(--accent, #bf7cff);
  margin-top: 0.1rem;
}
.github-target-mode small,
.github-target-chip small {
  color: var(--muted, #aaa2b7);
  font-size: 0.78rem;
}
.github-target-mode.active,
.github-target-chip.active {
  border-color: rgba(191, 151, 255, 0.72);
  background: rgba(151, 83, 255, 0.19);
  box-shadow: inset 0 0 0 1px rgba(191, 151, 255, 0.12);
}
.github-target-mode:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}
.github-target-known-list {
  margin-top: 0.5rem;
}
.github-target-url-field {
  margin: 0.55rem 0 0;
}
.github-checklist-routine.rows {
  display: grid;
  gap: 0.45rem;
  margin: 0.65rem 0;
  padding: 0;
}
.github-check-step {
  border: 1px solid rgba(191, 151, 255, 0.14);
  background: rgba(255,255,255,0.03);
  border-radius: 0.9rem;
  padding: 0.55rem 0.62rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.55rem;
  align-items: center;
}
.github-check-step.done {
  border-color: rgba(88, 224, 150, 0.38);
  background: rgba(88, 224, 150, 0.065);
}
.github-check-step.ready {
  border-color: rgba(191, 151, 255, 0.28);
}
.github-check-step.pending {
  opacity: 0.72;
}
.github-check-icon {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
  background: rgba(191, 151, 255, 0.12);
  color: var(--accent, #bf7cff);
  display: grid;
  place-items: center;
}
.github-check-step.done .github-check-icon {
  color: var(--ok, #66e0a3);
  background: rgba(88, 224, 150, 0.12);
}
.github-check-copy {
  display: grid;
  gap: 0.12rem;
}
.github-check-copy small {
  color: var(--muted, #aaa2b7);
}
.github-check-control {
  min-width: 11rem;
  display: flex;
  justify-content: flex-end;
}
.github-verify-control {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) auto;
  gap: 0.45rem;
  align-items: center;
  min-width: min(34rem, 48vw);
}
.github-verify-result {
  grid-column: 1 / -1;
  display: flex;
  gap: 0.4rem;
  align-items: center;
  margin-top: 0.35rem;
  font-size: 0.86rem;
}
.github-verify-result.ok { color: var(--ok, #66e0a3); }
.github-verify-result.warn { color: var(--warn, #ffcb6b); }
@media (max-width: 760px) {
  .github-target-mode-row,
  .github-check-step,
  .github-verify-control {
    grid-template-columns: 1fr;
  }
  .github-check-control {
    min-width: 0;
    width: 100%;
    justify-content: stretch;
  }
  .github-check-control .tv-btn,
  .github-verify-control .tv-btn {
    width: 100%;
    justify-content: center;
  }
}

/* CP204 GitHub export checklist action rows */
.github-check-step.no-control .github-check-control {
  justify-content: flex-start;
}
.github-check-inline-note {
  color: var(--muted, #aaa2b7);
  font-size: 0.84rem;
}
.github-target-inline-control {
  display: grid;
  gap: 0.45rem;
  min-width: min(34rem, 48vw);
}
.github-target-inline-modes {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.github-target-pill {
  border: 1px solid rgba(191, 151, 255, 0.18);
  background: rgba(255,255,255,0.035);
  color: var(--text, #f4efff);
  border-radius: 999px;
  padding: 0.4rem 0.62rem;
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  font-size: 0.86rem;
}
.github-target-pill.active {
  border-color: rgba(191, 151, 255, 0.72);
  background: rgba(151, 83, 255, 0.19);
}
.github-target-pill:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}
.github-target-inline-url {
  display: grid;
  grid-template-columns: minmax(9rem, 1fr) auto;
  gap: 0.4rem;
  align-items: center;
}
.github-target-inline-url select {
  grid-column: 1 / -1;
}
.github-verify-result.compact-result {
  margin-top: 0;
  justify-content: flex-end;
}
@media (max-width: 760px) {
  .github-target-inline-control,
  .github-target-inline-url {
    min-width: 0;
    width: 100%;
    grid-template-columns: 1fr;
  }
  .github-target-inline-modes {
    justify-content: stretch;
  }
  .github-target-pill,
  .github-target-inline-url .tv-btn {
    width: 100%;
    justify-content: center;
  }
}

/* CP208 compact GitHub export routine */
.github-export-routine-card.compact-routine-card {
  padding: 0.65rem 0.75rem !important;
}
.github-routine-head.compact {
  margin-bottom: 0.35rem !important;
  gap: 0.65rem !important;
}
.github-routine-head.compact h3 {
  font-size: 0.98rem !important;
  line-height: 1.2 !important;
}
.github-routine-head.compact .muted {
  margin: 0.08rem 0 0 !important;
  font-size: 0.82rem !important;
}
.github-checklist-routine.rows.compact {
  gap: 0.32rem !important;
  margin: 0.45rem 0 !important;
}
.github-checklist-routine.rows.compact .github-check-step {
  grid-template-columns: auto minmax(8rem, 0.58fr) minmax(16rem, 1.42fr) !important;
  gap: 0.42rem !important;
  padding: 0.42rem 0.5rem !important;
  border-radius: 0.78rem !important;
}
.github-checklist-routine.rows.compact .github-check-icon {
  width: 1.5rem !important;
  height: 1.5rem !important;
  font-size: 0.78rem !important;
}
.github-checklist-routine.rows.compact .github-check-copy {
  gap: 0.02rem !important;
}
.github-checklist-routine.rows.compact .github-check-copy strong {
  font-size: 0.9rem !important;
}
.github-checklist-routine.rows.compact .github-check-copy small {
  font-size: 0.76rem !important;
}
.github-checklist-routine.rows.compact .github-check-control {
  min-width: 0 !important;
  width: 100% !important;
}
.github-target-inline-control.compact {
  min-width: 0 !important;
  width: 100% !important;
  gap: 0.28rem !important;
}
.github-target-inline-control.compact .github-target-inline-modes {
  justify-content: flex-end;
  gap: 0.25rem !important;
}
.github-target-inline-control.compact .github-target-pill {
  padding: 0.3rem 0.48rem !important;
  font-size: 0.78rem !important;
}
.github-target-inline-url.compact-target-line {
  grid-template-columns: minmax(11rem, 0.85fr) minmax(12rem, 1fr) auto !important;
  gap: 0.28rem !important;
}
.github-target-inline-url.compact-target-line select {
  grid-column: auto !important;
}
.github-target-inline-url.compact-target-line .tv-input,
.github-verify-control .tv-input {
  min-height: 2.15rem !important;
  padding-top: 0.34rem !important;
  padding-bottom: 0.34rem !important;
}
.github-target-create-note {
  color: var(--muted, #aaa2b7);
  font-size: 0.82rem;
  justify-self: end;
}
.github-verify-result.compact-result {
  font-size: 0.78rem !important;
  overflow-wrap: anywhere;
}
.github-checklist-routine.rows.compact .github-check-step.ready {
  border-color: rgba(191, 151, 255, 0.24) !important;
  background: rgba(255,255,255,0.025) !important;
}
@media (max-width: 860px) {
  .github-checklist-routine.rows.compact .github-check-step,
  .github-target-inline-url.compact-target-line {
    grid-template-columns: 1fr !important;
  }
  .github-checklist-routine.rows.compact .github-check-icon {
    display: none !important;
  }
  .github-target-inline-control.compact .github-target-inline-modes,
  .github-target-create-note {
    justify-content: stretch !important;
    justify-self: stretch !important;
  }
  .github-target-inline-control.compact .github-target-pill,
  .github-target-inline-url.compact-target-line .tv-btn {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* CP215: social-feed presenter pass. Expanded cards should read like a concise
   activity card: schema/context stays visible, but the user's delta is the focus. */
.schema-presenter.social-presenter {
  padding: 8px 4px 2px;
  border: 0;
  background: transparent;
}
.schema-presenter.social-presenter .schema-presenter-head {
  margin: 0 0 6px;
  gap: 8px;
  align-items: center;
}
.schema-presenter.social-presenter .schema-presenter-icon {
  width: 24px;
  height: 24px;
  flex-basis: 24px;
  border-radius: 9px;
  opacity: .86;
}
.schema-presenter.social-presenter .schema-presenter-kicker {
  margin: 0;
  font-size: .68rem;
  letter-spacing: .13em;
  color: rgba(216, 184, 255, .82);
}
.schema-presenter.social-presenter .schema-primary-block {
  margin: 5px 0 8px;
  padding: 10px 11px;
  border-radius: 14px;
  border-color: rgba(202,153,255,.14);
  background: linear-gradient(135deg, rgba(160,83,255,.075), rgba(255,255,255,.026));
}
.schema-presenter.social-presenter .schema-primary-block p {
  font-size: .95rem;
}
.schema-presenter.social-presenter .schema-read-label {
  font-size: .68rem;
  letter-spacing: .12em;
  color: rgba(216, 184, 255, .86);
}
.schema-presenter.social-presenter .schema-read-block {
  margin-top: 8px;
  padding-top: 8px;
}
.schema-presenter.social-presenter .schema-meta-strip {
  margin: 6px 0 0;
  gap: 5px;
}
.schema-presenter.social-presenter .schema-meta-chip {
  padding: 4px 7px;
  font-size: .7rem;
  color: rgba(211, 205, 229, .78);
  background: rgba(255,255,255,.034);
}
.schema-presenter.social-presenter .schema-meta-chip span {
  letter-spacing: .07em;
}
.schema-presenter.social-presenter .schema-meta-chip strong,
.schema-presenter.social-presenter .schema-meta-chip a {
  font-size: .76rem;
}
.continuity-preview:has(.schema-presenter.social-presenter) {
  padding: 8px 12px 10px;
  background: linear-gradient(145deg, rgba(255,255,255,.032), rgba(0,0,0,.16));
  border-color: rgba(202,153,255,.18);
}

@media (max-width: 720px) {
  .schema-presenter.social-presenter { padding-top: 6px; }
  .schema-presenter.social-presenter .schema-primary-block { padding: 9px 10px; }
}

/* CP238: source-aware local edit shadows. */
.lineage-original-divider {
  display: grid;
  grid-template-columns: minmax(1.5rem, 1fr) auto minmax(1.5rem, 1fr);
  align-items: center;
  gap: 0.75rem;
  margin: 0.85rem 0;
  color: rgba(216, 180, 254, 0.82);
}

.lineage-original-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  max-width: min(100%, 34rem);
  padding: 0.42rem 0.72rem;
  border: 1px solid rgba(216, 180, 254, 0.28);
  border-radius: 999px;
  color: rgba(245, 239, 255, 0.9);
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.16), rgba(17, 24, 39, 0.76));
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
  cursor: pointer;
}

.lineage-original-label:hover,
.lineage-original-label:focus-visible {
  border-color: rgba(216, 180, 254, 0.52);
  color: #fff;
}

.lineage-original-label small {
  color: var(--tv-muted);
  max-width: 18rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lineage-original-expanded .original-shadow-post {
  opacity: 0.92;
  border-style: dashed;
  border-color: rgba(216, 180, 254, 0.26);
}

.lineage-original-expanded .original-shadow-post .post-main {
  background: rgba(255,255,255,0.012);
}

/* CP240: preserve markdown list hierarchy in rich editor/preview surfaces. */
.markdown-rich-editor ul,
.markdown-rich-editor ol,
.markdown-preview-rendered ul,
.markdown-preview-rendered ol {
  padding-left: 1.25rem !important;
  margin-left: 0.25rem !important;
}

.markdown-rich-editor ul ul,
.markdown-rich-editor ul ol,
.markdown-rich-editor ol ul,
.markdown-rich-editor ol ol,
.markdown-preview-rendered ul ul,
.markdown-preview-rendered ul ol,
.markdown-preview-rendered ol ul,
.markdown-preview-rendered ol ol {
  margin-top: 0.16rem !important;
  margin-bottom: 0.16rem !important;
  padding-left: 1.35rem !important;
}

.markdown-rich-editor li,
.markdown-preview-rendered li {
  padding-left: 0.1rem !important;
}

.source-refresh-progress-panel {
  margin-top: 0.85rem;
  padding: 0.78rem 0.82rem;
  border: 1px solid rgba(216,180,254,0.18);
  border-radius: 1rem;
  background: rgba(88, 28, 135, 0.18);
}

.source-refresh-progress-copy {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.35rem;
  color: rgba(248,246,255,0.94);
}

.source-refresh-progress-copy span {
  color: var(--tv-muted);
  font-size: 0.88rem;
  text-align: right;
}

.source-refresh-progress-panel .loading-progress {
  margin: 0;
}

/* CP290: shared markdown presentation fidelity for preview/detail/share surfaces. */
.markdown-rendered p { margin: 0 0 .72rem; line-height: 1.55; }
.markdown-rendered p:last-child { margin-bottom: 0; }
.markdown-rendered .md-list,
.markdown-rendered ul,
.markdown-rendered ol { margin: .35rem 0 .75rem 1.2rem; padding-left: 1rem; }
.markdown-rendered .md-list .md-list { margin-top: .28rem; margin-bottom: .28rem; }
.markdown-rendered li { margin: .22rem 0; line-height: 1.5; }
.markdown-rendered blockquote { margin: .6rem 0; padding: .45rem .75rem; border-left: 3px solid rgba(184, 119, 255, .55); color: var(--tv-muted); background: rgba(255,255,255,.035); border-radius: 0 10px 10px 0; }
.markdown-rendered pre { margin: .65rem 0; white-space: pre-wrap; }
.preview-section .preview-markdown { color: var(--tv-muted); }
.preview-section .preview-markdown p,
.preview-section .preview-markdown li { font-size: .9rem; }
.schema-primary-block.markdown-read-block .compact-markdown { color: var(--tv-muted); }
.schema-primary-block.markdown-read-block .compact-markdown p,
.schema-primary-block.markdown-read-block .compact-markdown li { font-size: .93rem; }

/* CP291: prose rhythm + browser-translate stability. */
.markdown-rendered {
  line-height: 1.64;
  letter-spacing: 0.002em;
  overflow-wrap: anywhere;
}
.markdown-rendered p {
  margin: 0 0 0.86rem;
}
.markdown-rendered p + p {
  margin-top: 0.18rem;
}
.markdown-rendered .md-heading,
.markdown-rendered h1,
.markdown-rendered h2,
.markdown-rendered h3,
.markdown-rendered h4 {
  color: var(--tv-ink);
  line-height: 1.22;
  letter-spacing: -0.015em;
  margin: 1.35rem 0 0.58rem;
}
.markdown-rendered > .md-heading:first-child,
.markdown-rendered > h1:first-child,
.markdown-rendered > h2:first-child,
.markdown-rendered > h3:first-child,
.markdown-rendered > h4:first-child {
  margin-top: 0;
}
.markdown-rendered p + .md-heading,
.markdown-rendered .md-list + .md-heading,
.markdown-rendered ul + .md-heading,
.markdown-rendered ol + .md-heading,
.markdown-rendered blockquote + .md-heading,
.markdown-rendered pre + .md-heading {
  margin-top: 1.65rem;
}
.markdown-rendered .md-heading-1 { font-size: 1.18rem; }
.markdown-rendered .md-heading-2 { font-size: 1.05rem; }
.markdown-rendered .md-heading-3 { font-size: 0.98rem; }
.markdown-rendered .md-heading-4 { font-size: 0.92rem; color: var(--tv-cyan); letter-spacing: 0.03em; }
.markdown-rendered .md-list,
.markdown-rendered ul,
.markdown-rendered ol {
  margin: 0.48rem 0 0.92rem 1.15rem;
  padding-left: 1.08rem;
}
.markdown-rendered li {
  margin: 0.3rem 0;
  padding-left: 0.08rem;
  line-height: 1.58;
}
.markdown-rendered li > p,
.markdown-rendered li p:last-child {
  margin-bottom: 0.3rem;
}
.markdown-rendered .md-list .md-list,
.markdown-rendered li ul,
.markdown-rendered li ol {
  margin-top: 0.34rem;
  margin-bottom: 0.36rem;
}
.markdown-rendered blockquote {
  margin: 0.92rem 0 1.05rem;
  padding: 0.68rem 0.86rem;
}
.markdown-rendered pre {
  margin: 0.95rem 0 1.08rem;
  line-height: 1.48;
}
.continuity-preview {
  padding-top: 12px;
  padding-bottom: 12px;
}
.preview-section + .preview-section,
.markdown-preview-section + .markdown-preview-section {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.055);
}
.preview-section h4 {
  margin-bottom: 6px;
}
.preview-section .preview-markdown p,
.preview-section .preview-markdown li {
  line-height: 1.58;
}
.schema-primary-block.markdown-read-block .compact-markdown p,
.schema-primary-block.markdown-read-block .compact-markdown li {
  line-height: 1.58;
}
.artifact-body-read .markdown-rendered.artifact-prose {
  padding: 0.15rem 0.1rem 0.05rem;
}
.detail-read-head p {
  line-height: 1.55;
}
/* Browser translation should focus on artifact prose, not controls. */
.topbar,
.workspace-strip,
.workspace-actions,
.post-chips,
.post-actions,
.modal-header-lite,
.app-footer,
.tv-btn,
.icon-action,
.badge-soft,
.stat-pill {
  -webkit-user-select: none;
  user-select: none;
}
[data-tiinex-language-surface="artifact"],
[data-tiinex-language-surface="artifact-preview"],
[data-tiinex-language-surface="artifact-excerpt"] {
  unicode-bidi: plaintext;
}
body.browser-translate-active .workspace-grid,
body[data-tiinex-translate-active="true"] .workspace-grid {
  contain: layout style;
}

/* Share eligibility / interaction-card groundwork. */
.share-eligibility-panel {
  max-width: min(860px, calc(100vw - 32px));
}

.share-eligibility-head {
  align-items: flex-start;
  gap: 16px;
}

.share-eligibility-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.share-status-chip {
  gap: 6px;
}

.share-status-ok {
  border-color: rgba(38, 166, 91, 0.45);
}

.share-status-warn {
  border-color: rgba(235, 169, 35, 0.5);
}

.share-status-danger {
  border-color: rgba(231, 76, 60, 0.55);
}

.share-eligibility-body {
  display: grid;
  gap: 18px;
}

.share-summary {
  margin-bottom: 0;
}

.share-eligibility-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.share-eligibility-grid > div {
  border: 1px solid var(--line-soft, rgba(255,255,255,0.12));
  border-radius: 14px;
  padding: 12px 14px;
  background: var(--surface-soft, rgba(255,255,255,0.04));
  display: grid;
  gap: 6px;
  min-width: 0;
}

.share-eligibility-grid strong {
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.7;
}

.share-eligibility-grid span {
  overflow-wrap: anywhere;
}

.share-warning-box {
  border: 1px solid rgba(235, 169, 35, 0.35);
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(235, 169, 35, 0.06);
}

.share-warning-box ul {
  margin: 8px 0 0;
  padding-left: 1.2rem;
}

.share-card-preview {
  border: 1px solid var(--line-soft, rgba(255,255,255,0.12));
  border-radius: 16px;
  padding: 14px;
  background: var(--surface-soft, rgba(255,255,255,0.04));
}

.share-card-preview pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 8px 0 0;
  font-size: 0.86rem;
  line-height: 1.55;
}

.share-eligibility-actions {
  flex-wrap: wrap;
}

@media (max-width: 720px) {
  .share-eligibility-grid {
    grid-template-columns: 1fr;
  }
  .share-eligibility-actions .tv-btn {
    width: 100%;
    justify-content: center;
  }
}

/* CP295: presenter sections are full-read surfaces; only explicit preview excerpts may truncate. */
.markdown-rendered .md-rule {
  display: block;
  height: 1px;
  border: 0;
  margin: 1.25rem 0;
  background: linear-gradient(90deg, rgba(202,153,255,.05), rgba(202,153,255,.34), rgba(202,153,255,.05));
}
.schema-primary-block.full-markdown-read {
  border-style: solid;
  background: linear-gradient(135deg, rgba(160,83,255,.075), rgba(255,255,255,.025));
}
.schema-primary-block.full-markdown-read .compact-markdown {
  color: var(--tv-ink);
}
.schema-primary-block.full-markdown-read .compact-markdown p,
.schema-primary-block.full-markdown-read .compact-markdown li {
  font-size: .96rem;
}
.schema-primary-block.excerpt-markdown-read .read-truncation-note {
  margin-top: .5rem;
  color: var(--tv-muted);
  font-size: .76rem;
  line-height: 1.35;
}
.continuity-preview .schema-presenter.social-presenter .schema-primary-block.full-markdown-read {
  border-color: rgba(202,153,255,.22);
}
.artifact-body-read[open] {
  padding-top: 2px;
}
.artifact-body-read[open] > summary {
  margin-bottom: 8px;
}

/* CP297: public-ready reasoned share cards. */
.share-context-question {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(202,153,255,.28);
  border-radius: 16px;
  padding: 14px;
  background: linear-gradient(135deg, rgba(160,83,255,.075), rgba(255,255,255,.025));
}
.share-context-question > span {
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  color: var(--accent, #d79bff);
}
.share-context-question textarea {
  width: 100%;
  min-height: 84px;
  resize: vertical;
  color: var(--text, #fff);
  background: rgba(0,0,0,.24);
  border: 1px solid var(--line-soft, rgba(255,255,255,.14));
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  line-height: 1.45;
}
.share-context-question textarea:focus {
  outline: none;
  border-color: rgba(202,153,255,.62);
  box-shadow: 0 0 0 3px rgba(160,83,255,.14);
}
.share-context-question small {
  opacity: .72;
}
.artifact-body-read:not([open]) {
  background: rgba(255,255,255,.018);
}

/* CP300: public-ready share modal, rendered cards, bookmark/download destinations. */
.public-share-panel,
.share-eligibility-panel.public-share-panel {
  width: min(960px, calc(100vw - 32px));
  max-height: min(88vh, 920px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.public-share-panel .share-eligibility-head {
  flex: 0 0 auto;
}
.public-share-panel .share-eligibility-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
  overscroll-behavior: contain;
}
.public-share-panel .share-eligibility-actions {
  flex: 0 0 auto;
  gap: 8px;
  border-top: 1px solid var(--line-soft, rgba(255,255,255,.1));
  background: linear-gradient(180deg, rgba(15,11,22,.82), rgba(15,11,22,.97));
}
.share-origin-chip {
  gap: 6px;
  border-color: rgba(202, 153, 255, .28);
}
.share-reason-section {
  border: 1px solid var(--line-soft, rgba(255,255,255,.12));
  border-radius: 18px;
  padding: 14px;
  background: linear-gradient(135deg, rgba(160,83,255,.07), rgba(255,255,255,.025));
}
.share-context-question {
  display: grid;
  gap: 8px;
  font-weight: 700;
}
.share-context-question textarea {
  width: 100%;
  min-height: 88px;
  resize: vertical;
  border: 1px solid var(--line-soft, rgba(255,255,255,.14));
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(7, 5, 12, .72);
  color: var(--tv-ink, #f7f3ff);
  font: inherit;
  line-height: 1.45;
}
.share-context-question small {
  color: var(--tv-muted, rgba(245,238,255,.68));
  font-weight: 500;
}
.share-preview-head,
.share-rendered-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.share-rendered-card {
  border: 1px solid rgba(202,153,255,.24);
  border-radius: 18px;
  padding: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(160,83,255,.045));
}
.share-rendered-card h3 {
  margin: 12px 0 6px;
  font-size: 1.12rem;
  letter-spacing: -0.015em;
}
.share-rendered-summary {
  color: var(--tv-muted, rgba(245,238,255,.72));
  margin: 0 0 12px;
}
.share-rendered-question {
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 14px;
  padding: 12px;
  background: rgba(0,0,0,.14);
  margin: 12px 0;
}
.share-rendered-question strong {
  display: block;
  font-size: .78rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--tv-accent, #d9a6ff);
  margin-bottom: 6px;
}
.share-rendered-question p,
.share-rendered-limit {
  margin: 0;
}
.share-rendered-meta {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
}
.share-rendered-meta div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.share-rendered-meta dt {
  color: var(--tv-muted, rgba(245,238,255,.62));
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.share-rendered-meta dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.share-rendered-boundary {
  margin-top: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 10px;
}
.share-rendered-limit {
  margin-top: 14px;
  color: var(--tv-muted, rgba(245,238,255,.64));
  font-size: .86rem;
}
.share-boundary-details {
  border: 1px solid var(--line-soft, rgba(255,255,255,.1));
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(255,255,255,.025);
}
.share-boundary-details summary {
  cursor: pointer;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .78rem;
}
.share-boundary-details[open] .share-eligibility-grid,
.share-boundary-details[open] .share-warning-box {
  margin-top: 12px;
}
@media (max-width: 720px) {
  .public-share-panel,
  .share-eligibility-panel.public-share-panel {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }
  .share-rendered-meta div {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}

/* CP301: compact share modal with in-card reason input and mobile-friendly actions. */
.public-share-panel,
.share-eligibility-panel.public-share-panel {
  width: min(840px, calc(100vw - 24px));
  max-height: min(86vh, 820px);
}
.public-share-panel *,
.share-eligibility-panel.public-share-panel * {
  min-width: 0;
}
.public-share-panel .share-eligibility-head {
  padding-bottom: 10px;
}
.public-share-panel .share-eligibility-body {
  gap: 12px;
  padding: 12px 8px 12px 0;
  overflow-x: hidden;
}
.public-share-panel .share-card-preview {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  overflow-x: hidden;
}
.share-rendered-card.share-rendered-card-editable {
  padding: 14px;
}
.share-rendered-card a,
.share-rendered-card code,
.share-eligibility-grid code,
.share-boundary-details code {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.share-rendered-card .share-rendered-meta {
  gap: 8px;
  margin-top: 10px;
}
.share-rendered-card .share-rendered-meta div {
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 10px;
}
.share-rendered-question textarea[data-share-reason] {
  width: 100%;
  min-height: 72px;
  max-height: 180px;
  resize: vertical;
  color: var(--tv-ink, #f7f3ff);
  background: rgba(7, 5, 12, .66);
  border: 1px solid rgba(202,153,255,.22);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  line-height: 1.42;
}
.share-rendered-question textarea[data-share-reason]:focus {
  outline: none;
  border-color: rgba(202,153,255,.62);
  box-shadow: 0 0 0 3px rgba(160,83,255,.14);
}
.share-rendered-question small {
  display: block;
  margin-top: 6px;
  color: var(--tv-muted, rgba(245,238,255,.64));
  font-size: .78rem;
  line-height: 1.35;
}
.public-share-panel .share-eligibility-actions.share-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  align-items: stretch;
  gap: 8px;
  padding: 10px 12px;
}
.public-share-panel .share-eligibility-actions.share-action-grid .tv-btn {
  width: 100%;
  justify-content: center;
  min-height: 40px;
  padding: 8px 10px;
  white-space: nowrap;
}
.public-share-panel .share-eligibility-actions.share-action-grid .tv-btn i {
  margin-right: 2px;
}
.share-boundary-details {
  padding: 10px 12px;
}
.share-boundary-details summary {
  font-size: .74rem;
}
@media (max-width: 560px) {
  .public-share-panel,
  .share-eligibility-panel.public-share-panel {
    width: calc(100vw - 12px);
    max-height: calc(100vh - 12px);
  }
  .public-share-panel .share-eligibility-head {
    gap: 10px;
  }
  .public-share-panel .share-eligibility-actions.share-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 8px;
  }
  .public-share-panel .share-eligibility-actions.share-action-grid .tv-btn {
    min-height: 42px;
    font-size: .9rem;
  }
  .share-rendered-card .share-rendered-meta div {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}

/* CP302: share action handoff and manual-step clarity. */
.public-share-panel .share-eligibility-actions.share-action-grid .tv-btn,
.public-share-panel .share-eligibility-actions.share-action-grid .tv-btn.primary,
.public-share-panel .share-eligibility-actions.share-action-grid .tv-btn.subtle {
  border-color: rgba(202,153,255,.28);
  background: rgba(255,255,255,.045);
  color: var(--tv-ink, #f7f3ff);
  box-shadow: none;
}
.public-share-panel .share-eligibility-actions.share-action-grid .tv-btn:hover,
.public-share-panel .share-eligibility-actions.share-action-grid .tv-btn.primary:hover,
.public-share-panel .share-eligibility-actions.share-action-grid .tv-btn.subtle:hover {
  border-color: rgba(202,153,255,.58);
  background: rgba(160,83,255,.16);
}
.share-result-panel {
  width: min(560px, calc(100vw - 24px));
  max-height: min(86vh, 720px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.share-result-body {
  display: grid;
  gap: 12px;
  overflow: auto;
  padding-right: 4px;
}
.share-result-body p {
  margin: 0;
  color: var(--tv-muted, rgba(245,238,255,.76));
  line-height: 1.55;
}
.share-result-body ol {
  margin: 0;
  padding-left: 1.25rem;
  display: grid;
  gap: 8px;
}
.share-result-url {
  border: 1px solid rgba(202,153,255,.2);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(255,255,255,.035);
  overflow-wrap: anywhere;
}
.share-manual-copy {
  display: grid;
  gap: 8px;
}
.share-manual-copy span {
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tv-accent, #d9a6ff);
}
.share-manual-copy textarea {
  width: 100%;
  resize: vertical;
  min-height: 160px;
  color: var(--tv-ink, #f7f3ff);
  background: rgba(7,5,12,.72);
  border: 1px solid rgba(202,153,255,.22);
  border-radius: 14px;
  padding: 12px 14px;
  font: inherit;
  line-height: 1.45;
}
.share-result-actions {
  flex-wrap: wrap;
  gap: 8px;
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 12px;
}
.share-result-actions .tv-btn {
  min-height: 40px;
}

/* CP304: mobile share polish and evidence relation visibility. */
.public-share-panel .share-modal-close,
.share-eligibility-panel.public-share-panel .share-modal-close {
  width: 2.25rem !important;
  min-width: 2.25rem !important;
  height: 2.25rem !important;
  min-height: 2.25rem !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
}
.public-share-panel .share-modal-close i,
.share-eligibility-panel.public-share-panel .share-modal-close i {
  margin: 0 !important;
}
.share-rendered-card .share-rendered-question textarea[data-share-reason] {
  min-height: 64px;
}
.share-rendered-card .share-rendered-meta dd a {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.evidence-attachment-card .evidence-relation-lock {
  width: 1.8rem;
  min-width: 1.8rem;
  height: 1.8rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  color: rgba(245,238,255,.72);
  border: 1px solid rgba(202,153,255,.22);
  background: rgba(160,83,255,.08);
}
.evidence-attachment-card:has(.evidence-relation-lock) {
  border-color: rgba(22,240,226,.22);
  background: linear-gradient(135deg, rgba(22,240,226,.045), rgba(160,83,255,.055));
}
@media (max-width: 560px) {
  .share-eligibility-backdrop {
    align-items: stretch !important;
    padding: 6px !important;
  }
  .public-share-panel,
  .share-eligibility-panel.public-share-panel {
    width: 100% !important;
    max-width: 100% !important;
    height: calc(100dvh - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    border-radius: 18px !important;
  }
  .public-share-panel .share-eligibility-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    padding: 12px 14px 10px !important;
  }
  .public-share-panel .share-eligibility-head .kicker {
    font-size: .68rem !important;
  }
  .public-share-panel .share-eligibility-head .modal-title-lite {
    font-size: 1.02rem !important;
    line-height: 1.12 !important;
  }
  .public-share-panel .share-eligibility-status-row {
    gap: 6px !important;
    margin-top: 7px !important;
  }
  .public-share-panel .share-eligibility-status-row .badge-soft {
    font-size: .72rem !important;
    padding: 4px 8px !important;
    max-width: 100% !important;
  }
  .public-share-panel .share-eligibility-body {
    padding: 10px 8px !important;
    gap: 10px !important;
  }
  .share-rendered-card.share-rendered-card-editable {
    padding: 12px !important;
    border-radius: 16px !important;
  }
  .share-rendered-card-head {
    gap: 6px !important;
  }
  .share-rendered-card h3 {
    margin-top: 10px !important;
    font-size: 1rem !important;
  }
  .share-rendered-summary {
    font-size: .9rem !important;
    line-height: 1.35 !important;
  }
  .share-rendered-question {
    padding: 10px !important;
    margin: 10px 0 !important;
  }
  .share-rendered-question textarea[data-share-reason] {
    min-height: 58px !important;
    max-height: 120px !important;
    padding: 9px 10px !important;
    font-size: .92rem !important;
  }
  .share-rendered-question small {
    display: none !important;
  }
  .share-rendered-card .share-rendered-meta {
    gap: 7px !important;
  }
  .share-rendered-card .share-rendered-meta div {
    grid-template-columns: 1fr !important;
    gap: 2px !important;
  }
  .share-rendered-meta dt {
    font-size: .66rem !important;
  }
  .share-rendered-meta dd,
  .share-rendered-limit {
    font-size: .84rem !important;
  }
  .share-boundary-details {
    padding: 9px 10px !important;
  }
  .public-share-panel .share-eligibility-actions.share-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    padding: 9px !important;
  }
  .public-share-panel .share-eligibility-actions.share-action-grid .tv-btn {
    min-height: 40px !important;
    padding: 7px 8px !important;
    font-size: .86rem !important;
  }
}

/* CP305: evidence camera capture */
.evidence-camera-choice.polished {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, auto));
  gap: 0.38rem;
  align-items: center;
  justify-content: end;
  margin: -0.16rem 0 0.55rem;
  padding: 0.45rem;
  border: 1px solid rgba(216, 180, 254, 0.16);
  border-radius: 0.82rem;
  background: rgba(255, 255, 255, 0.035);
}
.evidence-camera-choice .tv-btn {
  justify-content: center;
  white-space: nowrap;
}
.evidence-attachment-card[data-camera-source="1"] {
  border-color: rgba(52, 211, 153, 0.24);
}
@media (max-width: 720px) {
  .evidence-camera-choice.polished {
    grid-template-columns: 1fr 1fr;
    justify-content: stretch;
  }
  .evidence-camera-choice .tv-btn {
    min-height: 2.2rem;
  }
}

/* CP306: always-visible evidence camera action + graceful fallback */
.evidence-collector-actions.polished {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.38rem !important;
  width: min(100%, 17rem);
}
.evidence-collector-actions.polished .tv-btn {
  justify-content: center !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}
.evidence-collector-actions.polished .evidence-camera-trigger {
  display: inline-flex !important;
  visibility: visible !important;
}
.visually-hidden.evidence-camera-input-gallery,
.visually-hidden.evidence-camera-input-environment,
.visually-hidden.evidence-camera-input-user {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
@media (max-width: 820px) {
  .evidence-collector-actions.polished {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
}
@media (max-width: 420px) {
  .evidence-collector-actions.polished .tv-btn {
    padding-inline: 0.38rem !important;
    font-size: 0.78rem !important;
  }
}


/* CP308: mobile action parity + evidence preview polish */
@media (max-width: 640px) {
  .lineage-post > .post-actions {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 0.28rem !important;
    padding: 0.42rem 0.5rem !important;
    overflow: visible !important;
  }

  /* On mobile the card itself expands/anchors; keep the action row for real actions. */
  .lineage-post > .post-actions > .icon-action:first-child {
    display: none !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a {
    flex: initial !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 2.25rem !important;
    min-height: 2.25rem !important;
    max-height: 2.25rem !important;
    border-radius: 0.72rem !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .lineage-post > .post-actions > .icon-action span,
  .lineage-post > .post-actions > .post-action span,
  .lineage-post > .post-actions > button span,
  .lineage-post > .post-actions > a span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  .lineage-post > .post-actions > .icon-action i,
  .lineage-post > .post-actions > .post-action i,
  .lineage-post > .post-actions > button i,
  .lineage-post > .post-actions > a i {
    margin: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1 !important;
  }
}

.evidence-camera-choice.polished.compact {
  display: none !important;
}

.evidence-preview-overlay {
  padding: clamp(0.35rem, 1.6vw, 1rem) !important;
}

.evidence-preview-panel {
  width: min(98vw, 1180px) !important;
  height: min(96dvh, 960px) !important;
  max-height: 96dvh !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.evidence-preview-head {
  flex: 0 0 auto !important;
  align-items: center !important;
  padding: 0.72rem 0.82rem !important;
}

.evidence-preview-head .tv-btn {
  min-width: 2.5rem !important;
  min-height: 2.5rem !important;
  border-radius: 999px !important;
}

.evidence-preview-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: clamp(0.35rem, 1.5vw, 0.85rem) !important;
  touch-action: pinch-zoom !important;
}

.evidence-preview-body img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  touch-action: pinch-zoom !important;
  user-select: none !important;
}

@media (max-width: 680px) {
  .evidence-preview-panel {
    width: calc(100vw - 0.55rem) !important;
    height: calc(100dvh - 0.55rem) !important;
    max-height: calc(100dvh - 0.55rem) !important;
    border-radius: 0.78rem !important;
  }

  .evidence-preview-head {
    padding: 0.54rem 0.62rem !important;
    gap: 0.5rem !important;
  }

  .evidence-preview-head .kicker {
    font-size: 0.68rem !important;
  }

  .evidence-preview-head h2 {
    font-size: 0.9rem !important;
  }

  .evidence-preview-head .evidence-meta-chips {
    display: none !important;
  }

  .evidence-preview-body {
    padding: 0.32rem !important;
  }
}

/* CP309 publish-readiness polish: phone cards use a stable compact grid instead
   of squeezed horizontal rows; draft sharing has explicit package flow. */
@media (max-width: 640px) {
  .lineage-post > .post-actions {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.36rem !important;
    padding: 0.5rem 0.55rem !important;
    overflow: visible !important;
    scrollbar-width: auto !important;
  }

  .lineage-post > .post-actions > .anchor-action,
  .lineage-post > .post-actions > button[data-action="toggle-node-expand"] {
    display: none !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a {
    min-width: 0 !important;
    width: 100% !important;
    height: 2.35rem !important;
    min-height: 2.35rem !important;
    max-height: none !important;
    padding: 0 0.35rem !important;
    border-radius: 0.78rem !important;
  }

  .lineage-post > .post-actions > .transition-action,
  .lineage-post > .post-actions > .use-as-action,
  .lineage-post > .post-actions > .edit-action,
  .lineage-post > .post-actions > .remove-action,
  .lineage-post > .post-actions > .adapter-action {
    grid-column: span 2 !important;
    justify-content: center !important;
  }

  .lineage-post > .post-actions > .transition-action span,
  .lineage-post > .post-actions > .use-as-action span,
  .lineage-post > .post-actions > .edit-action span,
  .lineage-post > .post-actions > .remove-action span,
  .lineage-post > .post-actions > .adapter-action span {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: nowrap !important;
    margin-left: 0.28rem !important;
    font-size: 0.74rem !important;
    font-weight: 750 !important;
  }

  .public-share-panel {
    width: min(94vw, 28rem) !important;
    max-height: 92dvh !important;
  }

  .share-eligibility-actions.share-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.45rem !important;
  }

  .share-eligibility-actions.share-action-grid .tv-btn {
    min-height: 2.55rem !important;
    padding-inline: 0.55rem !important;
    border-radius: 999px !important;
  }
}

.evidence-preview-overlay {
  touch-action: pan-x pan-y pinch-zoom;
}
.evidence-preview-body {
  touch-action: pan-x pan-y pinch-zoom;
}
.evidence-preview-body img {
  max-height: min(78dvh, 100%);
  touch-action: pan-x pan-y pinch-zoom;
}
@media (min-width: 900px) {
  .evidence-preview-panel {
    width: min(96vw, 1120px);
  }
}

/* CP310: field mobile UX cleanup — compact action row + source strip hygiene. */
@media (max-width: 640px) {
  .lineage-post > .post-actions,
  .post-feed.discovery > .lineage-post > .post-actions,
  .post-feed.lineage > .lineage-post > .post-actions {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0.3rem !important;
    padding: 0.42rem 0.5rem !important;
    overflow: visible !important;
    align-items: center !important;
    scrollbar-width: none !important;
  }

  .lineage-post > .post-actions::-webkit-scrollbar {
    display: none !important;
  }

  .lineage-post > .post-actions > button[data-action="toggle-node-expand"],
  .lineage-post > .post-actions > .anchor-action {
    display: none !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a,
  .lineage-post > .post-actions > .transition-action,
  .lineage-post > .post-actions > .use-as-action,
  .lineage-post > .post-actions > .edit-action,
  .lineage-post > .post-actions > .remove-action,
  .lineage-post > .post-actions > .adapter-action,
  .lineage-post > .post-actions > .conditional-mutating-action,
  .lineage-post > .post-actions > .mutating-action {
    grid-column: auto !important;
    flex: initial !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 2.18rem !important;
    min-height: 2.18rem !important;
    max-height: 2.18rem !important;
    padding: 0 !important;
    border-radius: 0.68rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .lineage-post > .post-actions > .icon-action span,
  .lineage-post > .post-actions > .post-action span,
  .lineage-post > .post-actions > button span,
  .lineage-post > .post-actions > a span,
  .lineage-post > .post-actions > .transition-action span,
  .lineage-post > .post-actions > .use-as-action span,
  .lineage-post > .post-actions > .edit-action span,
  .lineage-post > .post-actions > .remove-action span,
  .lineage-post > .post-actions > .adapter-action span,
  .lineage-post > .post-actions > .conditional-mutating-action span,
  .lineage-post > .post-actions > .mutating-action span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  .lineage-post > .post-actions > .icon-action i,
  .lineage-post > .post-actions > .post-action i,
  .lineage-post > .post-actions > button i,
  .lineage-post > .post-actions > a i,
  .lineage-post > .post-actions > .transition-action i,
  .lineage-post > .post-actions > .use-as-action i,
  .lineage-post > .post-actions > .edit-action i,
  .lineage-post > .post-actions > .remove-action i,
  .lineage-post > .post-actions > .adapter-action i {
    margin: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1 !important;
  }

  .workspace-source-strip.source-strip-stable,
  .mobile-source-mode-row .workspace-source-strip,
  body.mobile-chrome .workspace-source-strip,
  body.mobile-lens .workspace-source-strip {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.32rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0.22rem 0.1rem !important;
    scrollbar-width: none !important;
    max-width: 100% !important;
  }

  .workspace-source-strip.source-strip-stable::-webkit-scrollbar,
  .mobile-source-mode-row .workspace-source-strip::-webkit-scrollbar {
    display: none !important;
  }

  .workspace-source-pill,
  .source-chip {
    min-height: 1.78rem !important;
    max-height: 1.78rem !important;
    padding: 0.22rem 0.48rem !important;
    font-size: 0.72rem !important;
    max-width: 7.7rem !important;
    flex: 0 0 auto !important;
  }

  .workspace-source-pill > span,
  .source-chip > span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .workspace-source-pill small,
  .source-chip small {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .lineage-post > .post-actions,
  .post-feed.discovery > .lineage-post > .post-actions,
  .post-feed.lineage > .lineage-post > .post-actions {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0.25rem !important;
    padding: 0.36rem 0.44rem !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a {
    height: 2.05rem !important;
    min-height: 2.05rem !important;
  }
}

/* CP311: value-first mobile cards + hard local asset boundary. */
@media (max-width: 640px) {
  .lineage-post,
  .asset-post {
    border-radius: 1rem !important;
  }

  .post-feed .post-meta,
  .lineage-post .post-meta {
    gap: 0.28rem !important;
    flex-wrap: wrap !important;
  }

  .lineage-post > .post-actions,
  .post-feed.discovery > .lineage-post > .post-actions,
  .post-feed.lineage > .lineage-post > .post-actions {
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: 0.34rem !important;
    padding: 0.44rem 0.5rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    align-items: center !important;
  }

  .lineage-post > .post-actions::-webkit-scrollbar,
  .post-feed.discovery > .lineage-post > .post-actions::-webkit-scrollbar,
  .post-feed.lineage > .lineage-post > .post-actions::-webkit-scrollbar {
    display: none !important;
  }

  .lineage-post > .post-actions > button[data-action="toggle-node-expand"],
  .lineage-post > .post-actions > .anchor-action {
    display: none !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a,
  .lineage-post > .post-actions > .transition-action,
  .lineage-post > .post-actions > .use-as-action,
  .lineage-post > .post-actions > .edit-action,
  .lineage-post > .post-actions > .remove-action,
  .lineage-post > .post-actions > .adapter-action,
  .lineage-post > .post-actions > .conditional-mutating-action,
  .lineage-post > .post-actions > .mutating-action {
    flex: 0 0 2.28rem !important;
    width: 2.28rem !important;
    min-width: 2.28rem !important;
    max-width: 2.28rem !important;
    height: 2.12rem !important;
    min-height: 2.12rem !important;
    max-height: 2.12rem !important;
    padding: 0 !important;
    border-radius: 0.74rem !important;
    grid-column: auto !important;
    justify-content: center !important;
  }

  .lineage-post > .post-actions > .transition-action span,
  .lineage-post > .post-actions > .use-as-action span,
  .lineage-post > .post-actions > .edit-action span,
  .lineage-post > .post-actions > .remove-action span,
  .lineage-post > .post-actions > .adapter-action span,
  .lineage-post > .post-actions > .conditional-mutating-action span,
  .lineage-post > .post-actions > .mutating-action span,
  .lineage-post > .post-actions > .icon-action span,
  .lineage-post > .post-actions > .post-action span,
  .lineage-post > .post-actions > button span,
  .lineage-post > .post-actions > a span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  .lineage-post > .post-actions > .transition-action i,
  .lineage-post > .post-actions > .use-as-action i,
  .lineage-post > .post-actions > .edit-action i,
  .lineage-post > .post-actions > .remove-action i,
  .lineage-post > .post-actions > .adapter-action i,
  .lineage-post > .post-actions > .conditional-mutating-action i,
  .lineage-post > .post-actions > .mutating-action i,
  .lineage-post > .post-actions > .icon-action i,
  .lineage-post > .post-actions > .post-action i,
  .lineage-post > .post-actions > button i,
  .lineage-post > .post-actions > a i {
    margin: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1 !important;
  }

  .topbar-actions,
  .toolbar-actions,
  .workspace-toolbar,
  .mobile-source-mode-row {
    gap: 0.34rem !important;
  }
}

.material-item.local-missing-asset,
.material-item .missing-local-asset {
  border-color: rgba(250, 204, 21, 0.28) !important;
}

.material-icon.missing-local-asset {
  color: rgba(250, 204, 21, 0.9) !important;
  background: rgba(250, 204, 21, 0.09) !important;
}

/* CP313: inline evidence image preview + list readability polish */
.evidence-inline-preview {
  border: 1px solid rgba(184, 119, 255, 0.22);
  border-radius: 16px;
  padding: 12px;
  background: linear-gradient(135deg, rgba(184, 119, 255, 0.07), rgba(255, 255, 255, 0.025));
  margin: 12px 0;
}
.evidence-inline-preview.compact {
  padding: 10px;
  margin: 10px 0;
}
.evidence-inline-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  color: var(--tv-muted);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 800;
}
.evidence-inline-preview-head span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.evidence-inline-preview-head small {
  color: rgba(245, 238, 255, 0.62);
  letter-spacing: 0.02em;
  text-transform: none;
  font-weight: 700;
}
.evidence-inline-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}
.evidence-inline-preview.compact .evidence-inline-preview-grid {
  grid-template-columns: 1fr;
}
.evidence-inline-image-card {
  appearance: none;
  border: 1px solid rgba(245, 238, 255, 0.12);
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.17);
  color: var(--tv-ink);
  padding: 0;
  display: grid;
  grid-template-rows: minmax(120px, 220px) auto;
  overflow: hidden;
  text-align: left;
  cursor: pointer;
  transition: border-color .15s ease, transform .15s ease, background .15s ease;
}
.evidence-inline-preview.full .evidence-inline-image-card {
  grid-template-rows: minmax(180px, 360px) auto;
}
.evidence-inline-image-card:hover,
.evidence-inline-image-card:focus-visible {
  border-color: rgba(22, 240, 226, 0.42);
  background: rgba(22, 240, 226, 0.045);
  transform: translateY(-1px);
}
.evidence-inline-image-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  background: rgba(0, 0, 0, 0.26);
}
.evidence-inline-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.evidence-inline-image-meta {
  display: grid;
  gap: 3px;
  padding: 9px 10px 10px;
  min-width: 0;
}
.evidence-inline-image-meta strong {
  font-size: 0.88rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.evidence-inline-image-meta small {
  color: var(--tv-muted);
  font-size: 0.76rem;
}
.evidence-inline-image-card.unavailable {
  cursor: default;
  padding: 14px;
  grid-template-rows: auto;
  gap: 7px;
}
.evidence-inline-image-missing {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  border: 1px solid rgba(255, 214, 130, 0.28);
  color: #ffd682;
  background: rgba(255, 214, 130, 0.06);
}
.evidence-inline-preview-more {
  margin: 9px 2px 0;
  color: var(--tv-muted);
  font-size: 0.82rem;
}
.markdown-rendered .md-list,
.markdown-rendered ul,
.markdown-rendered ol {
  margin-left: 0.88rem;
  padding-left: 0.92rem;
}
.markdown-rendered li {
  padding-left: 0.02rem;
}
.schema-primary-block.markdown-read-block .compact-markdown .md-list,
.schema-primary-block.markdown-read-block .compact-markdown ul,
.schema-primary-block.markdown-read-block .compact-markdown ol {
  margin-left: 0.74rem;
  padding-left: 0.84rem;
}
.schema-primary-block.markdown-read-block .compact-markdown li {
  margin: 0.22rem 0;
  line-height: 1.52;
}
@media (max-width: 640px) {
  .evidence-inline-preview {
    padding: 10px;
    border-radius: 14px;
  }
  .evidence-inline-preview-grid,
  .evidence-inline-preview.full .evidence-inline-preview-grid {
    grid-template-columns: 1fr;
  }
  .evidence-inline-image-card,
  .evidence-inline-preview.full .evidence-inline-image-card {
    grid-template-rows: minmax(150px, 46vh) auto;
  }
}

/* CP314: evidence inline preview actually includes local/draft image refs + mobile action containment. */
@media (max-width: 820px) {
  .lineage-post > .post-actions,
  .post-feed.discovery > .lineage-post > .post-actions,
  .post-feed.lineage > .lineage-post > .post-actions {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0.34rem !important;
    padding: 0.42rem 0.5rem !important;
    overflow: hidden !important;
    align-items: center !important;
  }

  .lineage-post > .post-actions > button[data-action="toggle-node-expand"],
  .lineage-post > .post-actions > .anchor-action {
    display: none !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a,
  .lineage-post > .post-actions > .transition-action,
  .lineage-post > .post-actions > .use-as-action,
  .lineage-post > .post-actions > .edit-action,
  .lineage-post > .post-actions > .remove-action,
  .lineage-post > .post-actions > .adapter-action,
  .lineage-post > .post-actions > .conditional-mutating-action,
  .lineage-post > .post-actions > .mutating-action {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 2.25rem !important;
    min-height: 2.25rem !important;
    max-height: 2.25rem !important;
    padding: 0 !important;
    border-radius: 0.72rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    grid-column: auto !important;
    box-sizing: border-box !important;
  }

  .lineage-post > .post-actions > .icon-action span,
  .lineage-post > .post-actions > .post-action span,
  .lineage-post > .post-actions > button span,
  .lineage-post > .post-actions > a span,
  .lineage-post > .post-actions > .transition-action span,
  .lineage-post > .post-actions > .use-as-action span,
  .lineage-post > .post-actions > .edit-action span,
  .lineage-post > .post-actions > .remove-action span,
  .lineage-post > .post-actions > .adapter-action span,
  .lineage-post > .post-actions > .conditional-mutating-action span,
  .lineage-post > .post-actions > .mutating-action span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  .lineage-post > .post-actions > .icon-action i,
  .lineage-post > .post-actions > .post-action i,
  .lineage-post > .post-actions > button i,
  .lineage-post > .post-actions > a i,
  .lineage-post > .post-actions > .transition-action i,
  .lineage-post > .post-actions > .use-as-action i,
  .lineage-post > .post-actions > .edit-action i,
  .lineage-post > .post-actions > .remove-action i,
  .lineage-post > .post-actions > .adapter-action i,
  .lineage-post > .post-actions > .conditional-mutating-action i,
  .lineage-post > .post-actions > .mutating-action i {
    margin: 0 !important;
    font-size: 0.96rem !important;
    line-height: 1 !important;
  }
}

.evidence-presenter .evidence-inline-preview {
  order: 2;
}

.evidence-inline-preview.full .evidence-inline-image-card {
  grid-template-rows: minmax(220px, min(48vh, 520px)) auto;
}

.evidence-inline-image-card:focus-visible {
  outline: 2px solid rgba(22, 240, 226, 0.75);
  outline-offset: 2px;
}

.schema-primary-block.markdown-read-block .compact-markdown .md-list,
.schema-primary-block.markdown-read-block .compact-markdown ul,
.schema-primary-block.markdown-read-block .compact-markdown ol {
  list-style-position: outside !important;
}

/* CP315: value-first mobile actions, image inspection and display-options polish. */
.schema-meta-strip .schema-meta-chip:first-child:last-child {
  max-width: 100%;
}

/* The provenance section is now rendered as structured details, not a one-line pill. */
.evidence-presenter > .schema-meta-strip:empty {
  display: none !important;
}

@media (max-width: 820px) {
  .lineage-post > .post-actions,
  .post-feed.discovery > .lineage-post > .post-actions,
  .post-feed.lineage > .lineage-post > .post-actions {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.28rem !important;
    padding: 0.32rem 0.42rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    min-height: 2.18rem !important;
    max-height: 2.42rem !important;
  }

  .lineage-post > .post-actions::-webkit-scrollbar,
  .post-feed.discovery > .lineage-post > .post-actions::-webkit-scrollbar,
  .post-feed.lineage > .lineage-post > .post-actions::-webkit-scrollbar {
    display: none !important;
  }

  .lineage-post > .post-actions > button[data-action="toggle-node-expand"],
  .lineage-post > .post-actions > .anchor-action {
    display: none !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a,
  .lineage-post > .post-actions > .transition-action,
  .lineage-post > .post-actions > .use-as-action,
  .lineage-post > .post-actions > .edit-action,
  .lineage-post > .post-actions > .remove-action,
  .lineage-post > .post-actions > .adapter-action,
  .lineage-post > .post-actions > .conditional-mutating-action,
  .lineage-post > .post-actions > .mutating-action {
    flex: 0 0 2.12rem !important;
    width: 2.12rem !important;
    min-width: 2.12rem !important;
    max-width: 2.12rem !important;
    height: 2.02rem !important;
    min-height: 2.02rem !important;
    max-height: 2.02rem !important;
    padding: 0 !important;
    border-radius: 0.72rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    grid-column: auto !important;
    box-sizing: border-box !important;
  }

  .lineage-post > .post-actions > .icon-action span,
  .lineage-post > .post-actions > .post-action span,
  .lineage-post > .post-actions > button span,
  .lineage-post > .post-actions > a span,
  .lineage-post > .post-actions > .transition-action span,
  .lineage-post > .post-actions > .use-as-action span,
  .lineage-post > .post-actions > .edit-action span,
  .lineage-post > .post-actions > .remove-action span,
  .lineage-post > .post-actions > .adapter-action span,
  .lineage-post > .post-actions > .conditional-mutating-action span,
  .lineage-post > .post-actions > .mutating-action span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  .lineage-post > .post-actions > .icon-action i,
  .lineage-post > .post-actions > .post-action i,
  .lineage-post > .post-actions > button i,
  .lineage-post > .post-actions > a i,
  .lineage-post > .post-actions > .transition-action i,
  .lineage-post > .post-actions > .use-as-action i,
  .lineage-post > .post-actions > .edit-action i,
  .lineage-post > .post-actions > .remove-action i,
  .lineage-post > .post-actions > .adapter-action i,
  .lineage-post > .post-actions > .conditional-mutating-action i,
  .lineage-post > .post-actions > .mutating-action i {
    margin: 0 !important;
    font-size: 0.9rem !important;
    line-height: 1 !important;
  }

  .workspace-source-strip.source-strip-stable,
  .mobile-source-mode-row .workspace-source-strip,
  body.mobile-chrome .workspace-source-strip,
  body.mobile-lens .workspace-source-strip {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.28rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0.12rem 0.12rem 0.08rem !important;
    min-height: 1.7rem !important;
    max-height: 1.95rem !important;
    scrollbar-width: none !important;
    max-width: 100% !important;
  }

  .workspace-source-strip.source-strip-stable::-webkit-scrollbar,
  .mobile-source-mode-row .workspace-source-strip::-webkit-scrollbar {
    display: none !important;
  }

  .workspace-source-pill,
  .source-chip {
    min-height: 1.55rem !important;
    max-height: 1.55rem !important;
    padding: 0.14rem 0.38rem !important;
    font-size: 0.68rem !important;
    max-width: 6.4rem !important;
    border-radius: 999px !important;
    flex: 0 0 auto !important;
  }

  .workspace-source-pill > span,
  .source-chip > span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .workspace-source-pill small,
  .source-chip small,
  .workspace-source-pill .source-close-btn {
    display: none !important;
  }
}

.material-lightbox-modal {
  padding: clamp(0.18rem, 1vw, 0.75rem) !important;
}

.image-inspection-panel.lightbox-panel {
  width: min(1180px, calc(100vw - 0.75rem)) !important;
  height: min(96dvh, 980px) !important;
  max-height: min(96dvh, 980px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.image-inspection-panel .lightbox-head-compact {
  flex: 0 0 auto !important;
  padding: 0.62rem 0.78rem !important;
  gap: 0.65rem !important;
}

.image-inspection-panel .lightbox-head-compact .modal-title-lite {
  font-size: 1rem !important;
  line-height: 1.1 !important;
}

.image-inspection-panel .lightbox-head-compact .text-secondary {
  font-size: 0.78rem !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: min(72vw, 44rem) !important;
}

.image-inspection-panel .lightbox-close {
  width: 2.2rem !important;
  min-width: 2.2rem !important;
  height: 2.2rem !important;
  min-height: 2.2rem !important;
  padding: 0 !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
}

.image-inspection-body.lightbox-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 0.42rem !important;
  border-radius: 0 !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  touch-action: pan-x pan-y pinch-zoom !important;
  -webkit-overflow-scrolling: touch !important;
}

.image-inspection-body.fit-size {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.image-inspection-body.fit-size img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

.image-inspection-body.actual-size {
  display: block !important;
  place-items: initial !important;
  text-align: center !important;
}

.image-inspection-body.actual-size img {
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: none !important;
  margin: 0 auto !important;
}

.image-inspection-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.5rem !important;
  padding: 0.5rem 0.62rem !important;
  border-top: 1px solid rgba(216,180,254,.12) !important;
}

.image-inspection-zoom-controls {
  display: flex !important;
  gap: 0.38rem !important;
  min-width: 0 !important;
}

.image-inspection-zoom-controls .tv-btn.active {
  color: rgba(248,246,255,.98) !important;
  border-color: rgba(168,85,247,.58) !important;
  background: rgba(168,85,247,.18) !important;
}

@media (max-width: 680px) {
  .material-lightbox-modal {
    padding: 0 !important;
  }

  .image-inspection-panel.lightbox-panel {
    width: 100vw !important;
    height: 100dvh !important;
    max-width: 100vw !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }

  .image-inspection-panel .lightbox-head-compact {
    padding: calc(env(safe-area-inset-top, 0px) + 0.52rem) 0.64rem 0.48rem !important;
  }

  .image-inspection-panel .lightbox-head-compact .kicker {
    font-size: 0.68rem !important;
  }

  .image-inspection-panel .lightbox-head-compact .modal-title-lite {
    font-size: 0.92rem !important;
  }

  .image-inspection-body.lightbox-body {
    padding: 0.22rem !important;
  }

  .image-inspection-actions {
    padding: 0.44rem 0.55rem calc(env(safe-area-inset-bottom, 0px) + 0.5rem) !important;
  }

  .image-inspection-zoom-controls .tv-btn {
    min-height: 2rem !important;
    padding: 0.35rem 0.5rem !important;
    font-size: 0.82rem !important;
  }
}

@media (max-width: 640px) {
  .display-options-panel {
    width: calc(100vw - 0.55rem) !important;
    max-width: calc(100vw - 0.55rem) !important;
    max-height: calc(100dvh - 0.55rem) !important;
    border-radius: 0.9rem !important;
  }

  .display-options-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    padding: 0.68rem 0.78rem !important;
  }

  .display-options-head .modal-title-lite {
    font-size: 1.06rem !important;
    line-height: 1.05 !important;
  }

  .display-options-head .tv-btn {
    width: 2.08rem !important;
    min-width: 2.08rem !important;
    height: 2.08rem !important;
    min-height: 2.08rem !important;
    padding: 0 !important;
    border-radius: 999px !important;
  }

  .display-options-body {
    padding: 0.56rem 0.58rem 0.7rem !important;
    gap: 0.38rem !important;
  }

  .display-options-filter-card.compact-filter-card {
    padding: 0.48rem !important;
    gap: 0.32rem !important;
  }

  .display-filter-picker.compact {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.28rem !important;
  }

  .display-filter-picker.compact .filter-select-wrap {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 0.33rem 0.48rem !important;
    min-height: 2rem !important;
  }

  .display-filter-picker.compact .filter-select-wrap span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  .display-filter-picker.compact .filter-select-wrap select {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: 0.88rem !important;
  }

  .display-filter-picker.compact .display-filter-chip-row {
    justify-content: flex-start !important;
    gap: 0.25rem !important;
  }

  .display-filter-chip {
    min-height: 1.34rem !important;
    padding: 0.14rem 0.38rem !important;
    font-size: 0.66rem !important;
  }

  .display-option-row {
    padding: 0.52rem 0.58rem !important;
    min-height: 2.5rem !important;
  }

  .temporal-lens-card {
    padding: 0.5rem !important;
  }

  .temporal-range-grid,
  .temporal-lens-grid.temporal-range-grid {
    grid-template-columns: 1fr !important;
    gap: 0.32rem !important;
  }

  .temporal-input-wrap {
    min-height: 2rem !important;
    padding: 0.28rem 0.5rem !important;
  }

  .temporal-lens-control > small {
    font-size: 0.72rem !important;
  }
}

/* CP316: mobile card actions have one owner: a value-first mobile rail. */
@media (max-width: 640px) {
  .lineage-post > .post-actions.desktop-post-actions,
  .post-feed.discovery > .lineage-post > .post-actions.desktop-post-actions,
  .post-feed.lineage > .lineage-post > .post-actions.desktop-post-actions {
    display: none !important;
  }

  .lineage-post > .mobile-card-action-rail {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0.34rem !important;
    padding: 0.44rem 0.54rem 0.52rem !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.018), rgba(255,255,255,0.035)) !important;
    overflow: hidden !important;
  }

  .lineage-post > .mobile-card-action-rail .mobile-rail-action {
    width: 100% !important;
    min-width: 0 !important;
    height: 2.02rem !important;
    min-height: 2.02rem !important;
    max-height: 2.02rem !important;
    padding: 0 !important;
    border: 1px solid rgba(232,224,255,0.12) !important;
    border-radius: 0.82rem !important;
    background: rgba(255,255,255,0.035) !important;
    color: rgba(244,239,255,0.82) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    touch-action: manipulation !important;
  }

  .lineage-post > .mobile-card-action-rail .mobile-rail-action i {
    margin: 0 !important;
    font-size: 0.92rem !important;
    line-height: 1 !important;
  }

  .lineage-post > .mobile-card-action-rail .mobile-rail-action span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  .lineage-post > .mobile-card-action-rail .mobile-rail-edit {
    border-color: rgba(16,185,129,0.56) !important;
    color: rgb(64, 255, 194) !important;
    background: linear-gradient(135deg, rgba(16,185,129,0.13), rgba(20,184,166,0.06)) !important;
  }

  .lineage-post > .mobile-card-action-rail .mobile-rail-more {
    border-color: rgba(168,85,247,0.32) !important;
    color: rgba(230,205,255,0.95) !important;
    background: rgba(168,85,247,0.08) !important;
  }

  .lineage-post > .mobile-card-action-rail .mobile-rail-remove,
  .lineage-post > .mobile-card-action-rail .mobile-rail-action.danger {
    border-color: rgba(248,113,113,0.34) !important;
    color: rgba(254,202,202,0.95) !important;
    background: rgba(248,113,113,0.08) !important;
  }

  .lineage-post > .mobile-card-action-rail .mobile-rail-action:active {
    transform: translateY(1px) !important;
  }

  body.mobile-chrome .workspace-source-strip.source-strip-stable,
  body.mobile-lens .workspace-source-strip.source-strip-stable,
  body.mobile-chrome .mobile-source-mode-row .workspace-source-strip,
  body.mobile-lens .mobile-source-mode-row .workspace-source-strip {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.24rem !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0.16rem 0.28rem !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.mobile-chrome .workspace-source-strip.source-strip-stable::-webkit-scrollbar,
  body.mobile-lens .workspace-source-strip.source-strip-stable::-webkit-scrollbar,
  body.mobile-chrome .mobile-source-mode-row .workspace-source-strip::-webkit-scrollbar,
  body.mobile-lens .mobile-source-mode-row .workspace-source-strip::-webkit-scrollbar {
    display: none !important;
  }

  body.mobile-chrome .workspace-source-strip .workspace-source-pill,
  body.mobile-lens .workspace-source-strip .workspace-source-pill,
  body.mobile-chrome .mobile-source-mode-row .workspace-source-pill,
  body.mobile-lens .mobile-source-mode-row .workspace-source-pill {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    max-width: 6.4rem !important;
    min-height: 1.5rem !important;
    height: 1.5rem !important;
    padding: 0.12rem 0.3rem !important;
    gap: 0.22rem !important;
    font-size: 0.66rem !important;
    border-radius: 999px !important;
  }

  body.mobile-chrome .workspace-source-pill > span,
  body.mobile-lens .workspace-source-pill > span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.mobile-chrome .workspace-source-pill small,
  body.mobile-lens .workspace-source-pill small {
    display: none !important;
  }

  body.mobile-chrome .workspace-source-pill .source-close-btn,
  body.mobile-lens .workspace-source-pill .source-close-btn {
    width: 1.08rem !important;
    height: 1.08rem !important;
    min-width: 1.08rem !important;
  }
}

@media (max-width: 374px) {
  .lineage-post > .mobile-card-action-rail {
    gap: 0.25rem !important;
    padding-inline: 0.42rem !important;
  }
  .lineage-post > .mobile-card-action-rail .mobile-rail-action {
    height: 1.9rem !important;
    min-height: 1.9rem !important;
  }
}

/* CP318: explicit route startup should not look empty while source owner loads. */
.loading-empty-state {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  color: var(--tv-muted, rgba(245, 238, 255, 0.72));
  border-style: solid;
  background: linear-gradient(135deg, rgba(160, 83, 255, 0.08), rgba(22, 240, 226, 0.035));
}
.loading-empty-state::before {
  content: '';
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 999px;
  border: 2px solid rgba(202, 153, 255, 0.28);
  border-top-color: rgba(202, 153, 255, 0.92);
  animation: tiinex-spin 0.9s linear infinite;
  flex: 0 0 auto;
}

/* CP319: value-first polish consolidation.
   This final layer owns the small-screen header, source strip, search sizing,
   evidence metadata density, and Display Options mobile layout. */

/* Consistent search/tool sizing across Discovery and Lineage. */
.feed-toolbar.discovery,
.feed-toolbar.lineage {
  align-items: center !important;
  gap: 0.55rem !important;
}
.feed-toolbar.discovery .discovery-tools,
.feed-toolbar.discovery .discovery-tools-foundation,
.feed-toolbar.discovery .discovery-tools-layout,
.feed-toolbar.discovery .tree-toolbar-tools,
.feed-toolbar.lineage .lineage-search-wrap,
.feed-toolbar.lineage .lineage-action-tools {
  display: grid !important;
  grid-template-columns: auto auto minmax(260px, min(38vw, 420px)) !important;
  align-items: center !important;
  justify-content: end !important;
  gap: 0.45rem !important;
  min-width: min(100%, 520px) !important;
}
.feed-toolbar.discovery .search-box,
.feed-toolbar.lineage .search-box,
.feed-toolbar.discovery .discovery-tools > .search-box,
.feed-toolbar.discovery .tree-toolbar-tools > .search-box,
.feed-toolbar.lineage .lineage-search-wrap > .search-box,
.feed-toolbar.lineage .lineage-action-tools > .search-box {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 420px !important;
  justify-self: stretch !important;
}
.feed-toolbar.discovery .search-box input,
.feed-toolbar.lineage .search-box input {
  width: 100% !important;
}
.feed-toolbar.discovery .preview-toggle,
.feed-toolbar.lineage .preview-toggle,
.feed-toolbar.lineage .audit-lineage-btn,
.feed-toolbar .tree-all-toggle {
  flex: 0 0 auto !important;
}

/* Compact, readable source strip. */
.workspace-sources,
.source-mode-row,
body.mobile-chrome .workspace-sources,
body.mobile-lens .workspace-sources {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  gap: 0.38rem !important;
  align-items: center !important;
  scrollbar-width: none !important;
  padding-bottom: 0.05rem !important;
}
.workspace-sources::-webkit-scrollbar,
.source-mode-row::-webkit-scrollbar { display: none !important; }
.source-chip,
.source-mode-row .source-chip,
body.mobile-chrome .source-chip {
  flex: 0 0 auto !important;
  max-width: min(16rem, 54vw) !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  padding-inline: 0.58rem !important;
}
.source-chip > span,
.source-chip small {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  min-width: 0 !important;
}
.source-chip .source-chip-count,
.source-chip .source-count,
.source-chip .badge-count {
  flex: 0 0 auto !important;
}

/* Evidence image owns the visual material; metadata stays attached but compact. */
.evidence-material-inline-details {
  margin-top: 0.7rem !important;
  border: 1px solid rgba(202, 153, 255, 0.22) !important;
  border-radius: 0.92rem !important;
  background: rgba(255, 255, 255, 0.028) !important;
  overflow: hidden !important;
}
.evidence-material-inline-details > summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.8rem !important;
  min-height: 2.35rem !important;
  padding: 0.58rem 0.78rem !important;
  cursor: pointer !important;
  list-style: none !important;
  color: rgba(245, 238, 255, 0.84) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.74rem !important;
  font-weight: 900 !important;
}
.evidence-material-inline-details > summary::-webkit-details-marker { display: none !important; }
.evidence-material-inline-details > summary::before {
  content: '▸';
  color: rgba(216, 180, 254, 0.78);
  margin-right: 0.35rem;
}
.evidence-material-inline-details[open] > summary::before { content: '▾'; }
.evidence-material-inline-details > summary span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.42rem !important;
}
.evidence-material-inline-details > summary small {
  color: rgba(245, 238, 255, 0.56) !important;
  font-size: 0.72rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 700 !important;
}
.evidence-material-inline-list {
  padding: 0.05rem 1rem 0.78rem 1.45rem !important;
}
.evidence-material-inline-list ul,
.evidence-material-inline-list ol {
  margin-block: 0.26rem !important;
}
.evidence-material-inline-list li {
  margin-block: 0.18rem !important;
}
.evidence-presenter .schema-primary-block + .evidence-inline-preview {
  margin-top: 0.78rem !important;
}
.evidence-presenter .evidence-inline-preview + .evidence-material-inline-details {
  margin-top: 0.62rem !important;
}

/* More respectful mobile card actions: one owned rail, compact, no stretched edit bar. */
@media (max-width: 760px) {
  .lineage-post > .desktop-post-actions,
  .lineage-post > .post-actions.desktop-post-actions {
    display: none !important;
  }
  .lineage-post > .mobile-card-action-rail {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0.36rem !important;
    padding: 0.48rem 0.62rem !important;
    border-top: 1px solid rgba(255,255,255,0.085) !important;
    background: rgba(255,255,255,0.015) !important;
    overflow: hidden !important;
  }
  .lineage-post > .mobile-card-action-rail .mobile-rail-action {
    width: 100% !important;
    min-width: 0 !important;
    height: 2.05rem !important;
    min-height: 2.05rem !important;
    padding: 0 !important;
    border-radius: 0.72rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .lineage-post > .mobile-card-action-rail .mobile-rail-action span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }
  .lineage-post > .mobile-card-action-rail .mobile-rail-edit {
    grid-column: auto !important;
    width: 100% !important;
  }
}

@media (max-width: 680px) {
  .feed-toolbar.discovery,
  .feed-toolbar.lineage {
    grid-template-columns: 1fr !important;
    gap: 0.42rem !important;
  }
  .feed-toolbar.discovery .discovery-tools,
  .feed-toolbar.discovery .discovery-tools-foundation,
  .feed-toolbar.discovery .discovery-tools-layout,
  .feed-toolbar.discovery .tree-toolbar-tools,
  .feed-toolbar.lineage .lineage-search-wrap,
  .feed-toolbar.lineage .lineage-action-tools {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: auto auto minmax(0, 1fr) !important;
    justify-content: stretch !important;
  }
  .feed-toolbar.discovery .search-box,
  .feed-toolbar.lineage .search-box {
    max-width: none !important;
  }
  .source-chip,
  .source-mode-row .source-chip,
  body.mobile-chrome .source-chip {
    max-width: 44vw !important;
    padding-inline: 0.48rem !important;
  }
}

/* Display Options mobile: controls become clean vertical pickers without
   label/select collisions, while desktop keeps the wider compact cards. */
@media (max-width: 700px) {
  .display-options-backdrop {
    align-items: stretch !important;
    padding: max(0.45rem, env(safe-area-inset-top)) 0.45rem max(0.45rem, env(safe-area-inset-bottom)) !important;
  }
  .display-options-panel {
    width: 100% !important;
    max-width: 100% !important;
    height: calc(100dvh - 0.9rem) !important;
    max-height: calc(100dvh - 0.9rem) !important;
    border-radius: 1rem !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  .display-options-head {
    flex: 0 0 auto !important;
    padding: 0.9rem 1rem 0.72rem !important;
  }
  .display-options-body {
    flex: 1 1 auto !important;
    overflow: auto !important;
    padding: 0.82rem !important;
  }
  .display-filter-picker.compact {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.55rem !important;
  }
  .display-filter-picker.compact .filter-select-wrap {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.32rem !important;
    align-items: stretch !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }
  .display-filter-picker.compact .filter-select-wrap span {
    position: static !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    clip: auto !important;
    overflow: visible !important;
    white-space: normal !important;
    color: rgba(245,238,255,0.64) !important;
    font-size: 0.72rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 900 !important;
    padding: 0 0.1rem !important;
  }
  .display-filter-picker.compact .filter-select-wrap select {
    width: 100% !important;
    min-width: 0 !important;
    height: 2.55rem !important;
    padding-inline: 0.72rem !important;
  }
  .display-filter-picker.compact .display-filter-chip-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.35rem !important;
    min-width: 0 !important;
  }
  .display-filter-picker.compact .display-filter-chip,
  .display-filter-picker.compact .display-filter-clear {
    max-width: 100% !important;
  }
  .temporal-lens-grid.temporal-range-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.46rem !important;
  }
  .temporal-lens-grid.temporal-range-grid .tv-btn {
    width: 100% !important;
  }
}

/* CP320: source strip ownership + no-jump mobile chrome. */
.workspace > .workspace-source-strip,
.workspace .mobile-source-mode-row .workspace-source-strip,
.workspace.single-source-state > .workspace-source-strip,
.workspace.single-source-state > .mobile-source-mode-row .workspace-source-strip,
body.mobile-chrome .workspace.single-source-state > .workspace-source-strip,
body.mobile-lens .workspace.single-source-state > .workspace-source-strip,
body.mobile-chrome .workspace.single-source-state > .mobile-source-mode-row .workspace-source-strip,
body.mobile-lens .workspace.single-source-state > .mobile-source-mode-row .workspace-source-strip {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  gap: 0.38rem !important;
  min-height: 2rem !important;
  max-height: 2.35rem !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap !important;
  scrollbar-width: thin !important;
  -webkit-overflow-scrolling: touch !important;
  pointer-events: auto !important;
  border-width: 1px !important;
}

.workspace > .workspace-source-strip,
.workspace .mobile-source-mode-row .workspace-source-strip {
  padding: 0.32rem 0.7rem !important;
  margin: 0 !important;
}

.workspace-source-strip .workspace-source-pill,
.mobile-source-mode-row .workspace-source-pill,
.source-mode-row .workspace-source-pill,
.workspace-source-strip .source-pill,
.workspace-source-strip .source-chip {
  flex: 0 0 auto !important;
  min-width: max-content !important;
  max-width: min(14rem, 72vw) !important;
  white-space: nowrap !important;
}

.workspace-source-strip .workspace-source-pill > span,
.mobile-source-mode-row .workspace-source-pill > span,
.source-mode-row .workspace-source-pill > span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 640px) {
  .workspace > .workspace-source-strip,
  .workspace .mobile-source-mode-row .workspace-source-strip,
  .workspace.single-source-state > .workspace-source-strip,
  .workspace.single-source-state > .mobile-source-mode-row .workspace-source-strip,
  body.mobile-chrome .workspace:not(.single-source-state) > .workspace-source-strip,
  body.mobile-lens .workspace:not(.single-source-state) > .workspace-source-strip,
  body.mobile-chrome .workspace.single-source-state > .workspace-source-strip,
  body.mobile-lens .workspace.single-source-state > .workspace-source-strip {
    justify-content: flex-start !important;
    text-align: left !important;
    padding: 0.26rem 0.58rem !important;
    min-height: 1.92rem !important;
    max-height: 2rem !important;
    border-width: 0 !important;
    scrollbar-width: none !important;
    mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 1.1rem), transparent 100%);
  }

  .workspace > .workspace-source-strip::-webkit-scrollbar,
  .workspace .mobile-source-mode-row .workspace-source-strip::-webkit-scrollbar,
  .workspace-source-tabs::-webkit-scrollbar,
  .source-tabs::-webkit-scrollbar,
  .workspace-sources::-webkit-scrollbar {
    display: none !important;
  }

  .workspace-source-strip .workspace-source-pill,
  .mobile-source-mode-row .workspace-source-pill,
  .source-mode-row .workspace-source-pill {
    max-width: min(12.5rem, 68vw) !important;
    min-height: 1.55rem !important;
    padding: 0.16rem 0.46rem !important;
    font-size: 0.7rem !important;
  }

  .workspace-source-strip .source-close-btn,
  .mobile-source-mode-row .source-close-btn,
  .source-mode-row .source-close-btn {
    width: 1.18rem !important;
    min-width: 1.18rem !important;
    height: 1.18rem !important;
    min-height: 1.18rem !important;
    margin-left: 0.18rem !important;
  }

  .workspace-source-strip.source-strip-empty {
    display: none !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
  }

  /* Preserve the layout slot while fading reading chrome. This keeps scrolling
     stable: expanding/collapsing chrome no longer pushes the card list down/up. */
  body.mobile-reading .topbar,
  body.mobile-reading .topbar.compact,
  body.mobile-reading .topbar-foundation,
  body.mobile-reading .topbar-shell,
  body.mobile-reading .topbar-layout,
  body.mobile-reading .topbar-actions,
  body.mobile-reading .topbar-branded,
  body.mobile-reading .workspace-header,
  body.mobile-reading .workspace-top,
  body.mobile-reading .workspace-title-row,
  body.mobile-reading .workspace-source-tabs,
  body.mobile-reading .source-tabs,
  body.mobile-reading .workspace-sources,
  body.mobile-reading .feed-toolbar.discovery,
  body.mobile-reading .feed-toolbar.discovery.feed-toolbar-foundation,
  body.mobile-reading .feed-toolbar.discovery.feed-toolbar-shell,
  body.mobile-reading .feed-toolbar.discovery.feed-toolbar-layout,
  body.mobile-reading .lineage-toolbar,
  body.mobile-reading .lineage-search-wrap,
  body.mobile-reading .preview-filter-bar {
    max-height: none !important;
    min-height: revert !important;
    height: auto !important;
    padding-top: revert !important;
    padding-bottom: revert !important;
    margin-top: revert !important;
    margin-bottom: revert !important;
    border-width: revert !important;
    overflow: visible !important;
    pointer-events: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-0.35rem) !important;
    transition: opacity 140ms ease, transform 160ms ease, visibility 0s linear 160ms !important;
  }

  body.mobile-reading .workspace-header,
  body.mobile-reading .workspace-top,
  body.mobile-reading .workspace-title-row {
    padding: 0.55rem 0.72rem 0.42rem !important;
  }

  body.mobile-reading .workspace-source-tabs,
  body.mobile-reading .source-tabs,
  body.mobile-reading .workspace-sources,
  body.mobile-reading .workspace > .workspace-source-strip {
    padding: 0.26rem 0.58rem !important;
    min-height: 1.92rem !important;
    max-height: 2rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body.mobile-reading .feed-toolbar.discovery,
  body.mobile-reading .feed-toolbar.discovery.feed-toolbar-foundation,
  body.mobile-reading .feed-toolbar.discovery.feed-toolbar-shell,
  body.mobile-reading .feed-toolbar.discovery.feed-toolbar-layout,
  body.mobile-reading .lineage-toolbar,
  body.mobile-reading .lineage-search-wrap {
    padding: 0.4rem 0.55rem !important;
    min-height: 2.55rem !important;
    overflow: visible !important;
  }

  body.mobile-reading .topbar,
  body.mobile-reading .topbar.compact,
  body.mobile-reading .topbar-foundation,
  body.mobile-reading .topbar-shell,
  body.mobile-reading .topbar-layout,
  body.mobile-reading .topbar-actions,
  body.mobile-reading .topbar-branded {
    min-height: 2.75rem !important;
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
  }

  body.mobile-reading .workspace.mobile-chrome-compact .workspace-source-strip,
  body.mobile-reading .workspace.mobile-chrome-compact .mobile-source-mode-row .workspace-source-strip {
    display: flex !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}


@media (max-width: 640px) {
  /* CP325: lineage is a navigation/read surface, not discovery scrolling chrome.
     Opening/restoring lineage from a compact discovery scroll must keep the
     lineage toolbar/search available instead of inheriting hidden discovery chrome. */
  body.mobile-reading .feed-toolbar.lineage,
  body.mobile-reading .lineage-toolbar,
  body.mobile-reading .lineage-search-wrap {
    max-height: none !important;
    min-height: 0 !important;
    height: auto !important;
    opacity: 1 !important;
    padding-top: initial !important;
    padding-bottom: initial !important;
    margin-top: initial !important;
    margin-bottom: initial !important;
    border-width: initial !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  .workspace.mobile-chrome-compact .feed-toolbar.lineage .search-box,
  .workspace.mobile-chrome-compact .feed-toolbar.lineage .preview-toggle,
  .workspace.mobile-chrome-compact .feed-toolbar.lineage .tree-all-toggle,
  .workspace.mobile-chrome-compact .feed-toolbar.lineage .lineage-display-spacer {
    max-height: none !important;
    height: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* CP330: tree-backed artifact placement picker as a pre-content scope */
.wizard-placement-preview.picker-ready {
  grid-column: 1 / -1;
  border: 1px solid rgba(216,180,254,0.14);
  border-radius: 0.9rem;
  padding: 0.62rem 0.72rem;
  background: rgba(168,85,247,0.055);
  margin-bottom: 0.15rem;
}

.wizard-placement-scope-label {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  color: rgba(216,180,254,0.96);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.48rem;
}

.wizard-placement-row.single-line {
  display: grid;
  grid-template-columns: minmax(7rem, 0.72fr) minmax(10rem, 1.28fr) auto;
  gap: 0.55rem;
  align-items: stretch;
}

.wizard-placement-current {
  min-width: 0;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 0.72rem;
  padding: 0.46rem 0.62rem;
  background: rgba(255,255,255,0.035);
}

.wizard-placement-current span {
  display: block;
  color: var(--tv-muted);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.12rem;
}

.wizard-placement-current strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(248,246,255,0.95);
  font-weight: 650;
  font-size: 0.88rem;
}

.wizard-folder-choose {
  align-self: center;
  white-space: nowrap;
}

.wizard-placement-preview small {
  display: block;
  margin-top: 0.42rem;
  color: var(--tv-muted);
  line-height: 1.35;
}

.path-preview-label {
  margin-bottom: 0.35rem;
}

.folder-picker-active .tree-folder-add {
  display: none !important;
}

.tree-folder-select {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  height: 1.85rem;
  border-radius: 999px;
  border: 1px solid rgba(16,185,129,0.34);
  background: rgba(6,78,59,0.16);
  color: rgba(167,243,208,0.98);
  padding: 0 0.62rem;
  font-weight: 700;
  font-size: 0.78rem;
  cursor: pointer;
}

.tree-folder-select:hover:not(:disabled) {
  border-color: rgba(16,185,129,0.58);
  background: rgba(6,95,70,0.24);
  box-shadow: 0 0 0 1px rgba(16,185,129,0.12), 0 0 18px rgba(16,185,129,0.14);
}

.tree-folder-select:disabled {
  opacity: 0.52;
  cursor: not-allowed;
}

.folder-picker-banner .picker-context {
  font-size: 0.82rem;
  opacity: 0.86;
}

@media (max-width: 760px) {
  .wizard-placement-row.single-line {
    grid-template-columns: 1fr;
  }

  .tree-folder-select span {
    display: none;
  }
}


/* CP331: mobile chrome should reclaim real reading space, not leave a hidden spacer. */
@media (max-width: 640px) {
  body.mobile-reading .app-shell,
  body.mobile-reading .app-shell.app-shell-foundation,
  body.mobile-reading .app-shell.app-shell-main,
  body.mobile-reading .app-shell.app-shell-layout,
  body.mobile-reading .app-shell.app-shell-grid {
    padding-top: 0 !important;
  }

  body.mobile-reading #workspace-grid.workspace-shell-grid.workspace-grid-layout.workspace-grid-columns,
  body.mobile-reading .workspace-foundation-grid,
  body.mobile-reading .workspace-shell-grid,
  body.mobile-reading .workspace-grid-layout {
    padding-top: 0 !important;
    gap: 0.35rem !important;
  }

  body.mobile-reading .workspace,
  body.mobile-reading .workspace.workspace-shell,
  body.mobile-reading .workspace.workspace-foundation {
    margin-top: 0 !important;
  }

  body.mobile-reading .workspace > .post-feed,
  body.mobile-reading .post-feed.discovery,
  body.mobile-reading .post-feed.lineage,
  body.mobile-reading .post-feed {
    padding-top: 0.08rem !important;
    scroll-padding-top: 0.15rem !important;
  }

  body:not(.mobile-reading) .post-feed.discovery,
  body:not(.mobile-reading) .post-feed.lineage {
    scroll-padding-top: 4.5rem;
  }
}

/* CP331: continuity parent is a separate pre-content scope, parallel to storage. */
.wizard-parent-preview.picker-ready {
  grid-column: 1 / -1;
  border: 1px solid rgba(110,231,183,0.14);
  border-radius: 0.9rem;
  padding: 0.58rem 0.72rem;
  background: rgba(16,185,129,0.035);
  margin-bottom: 0.15rem;
}

.wizard-parent-scope-label {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  color: rgba(167,243,208,0.95);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.42rem;
}

.wizard-parent-row.single-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0.5rem;
  align-items: stretch;
}

.wizard-parent-current {
  min-width: 0;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 0.72rem;
  padding: 0.44rem 0.62rem;
  background: rgba(255,255,255,0.03);
}

.wizard-parent-current.unresolved {
  border-color: rgba(250,204,21,0.22);
  background: rgba(250,204,21,0.035);
}

.wizard-parent-current span {
  display: block;
  color: var(--tv-muted);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.12rem;
}

.wizard-parent-current strong {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(248,246,255,0.95);
  font-weight: 650;
  font-size: 0.88rem;
}

.wizard-parent-choose,
.wizard-parent-detach {
  align-self: center;
  white-space: nowrap;
}

.wizard-parent-preview small {
  display: block;
  margin-top: 0.38rem;
  color: var(--tv-muted);
  line-height: 1.35;
}

@media (max-width: 760px) {
  .wizard-placement-preview.picker-ready,
  .wizard-parent-preview.picker-ready {
    padding: 0.5rem 0.55rem;
  }

  .wizard-placement-row.single-line,
  .wizard-parent-row.single-line {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.38rem;
  }

  .wizard-placement-current.path {
    grid-column: 1 / -1;
    order: 3;
  }

  .wizard-folder-choose,
  .wizard-parent-choose,
  .wizard-parent-detach {
    min-width: 2.1rem !important;
    width: 2.1rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
  }

  .wizard-folder-choose i,
  .wizard-parent-choose i,
  .wizard-parent-detach i {
    margin: 0 !important;
  }
}


/* CP332: Raw markdown/detail modal headers must remain closeable on narrow screens
   and long source documents. Long paths/titles may wrap, but the close affordance
   keeps its own slot instead of being pushed off-canvas by raw content. */
.read-modal-panel .read-modal-head,
.read-modal-panel .sticky-modal-head.read-modal-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 0.85rem !important;
}

.read-modal-panel .read-modal-head > div {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.read-modal-panel .read-modal-head .modal-title-lite,
.read-modal-panel .read-modal-head .text-secondary {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.read-modal-panel .read-modal-head [data-action="close-modal"] {
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  position: sticky !important;
  top: 0.35rem !important;
  z-index: 8 !important;
}

@media (max-width: 720px) {
  .read-modal-panel .read-modal-head,
  .read-modal-panel .sticky-modal-head.read-modal-head {
    padding: 0.82rem 0.88rem !important;
  }

  .read-modal-panel .modal-read-scroll {
    padding: 0.86rem !important;
  }

  .read-modal-panel .modal-source {
    max-width: 100% !important;
  }

  .read-modal-panel .modal-source code {
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
  }
}

/* CP333: mobile read/raw markdown containment. The global mobile button rule makes
   .tv-btn full width; read modal close controls must keep a fixed action slot so
   titles/paths wrap instead of pushing markdown into a one-letter column. */
.read-modal-panel .read-modal-head,
.read-modal-panel .sticky-modal-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 0.85rem !important;
}

.read-modal-panel .read-modal-head > div,
.read-modal-panel .sticky-modal-head > div {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  max-width: 100% !important;
}

.read-modal-panel .read-modal-head .tv-btn[data-action="close-modal"],
.read-modal-panel .sticky-modal-head .tv-btn[data-action="close-modal"] {
  width: 2.35rem !important;
  min-width: 2.35rem !important;
  max-width: 2.35rem !important;
  height: 2.35rem !important;
  flex: 0 0 2.35rem !important;
  padding: 0 !important;
  justify-content: center !important;
}

.read-modal-panel .modal-title-lite,
.read-modal-panel .text-secondary,
.read-modal-panel .modal-read-scroll,
.read-modal-panel .modal-read-body,
.read-modal-panel .markdown-rendered,
.read-modal-panel .modal-source,
.read-modal-panel .modal-source code {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

.read-modal-panel .modal-source {
  width: 100% !important;
  box-sizing: border-box !important;
  overflow-x: auto !important;
  white-space: pre-wrap !important;
}

.read-modal-panel .modal-source code {
  display: block !important;
  width: 100% !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

@media (max-width: 560px) {
  .read-modal-panel .read-modal-head,
  .read-modal-panel .sticky-modal-head {
    padding: 0.78rem 0.82rem !important;
  }

  .read-modal-panel .modal-read-scroll {
    padding: 0.78rem 0.82rem !important;
  }

  .read-modal-panel .modal-source {
    font-size: 0.76rem !important;
    line-height: 1.42 !important;
  }
}

/* CP334 — mobile action density and lifecycle-responsive surfaces.
   Keep mobile card action widths stable while reducing vertical boilerplate. */
@media (max-width: 640px) {
  .lineage-post > .post-actions {
    gap: 0.24rem !important;
    padding: 0.32rem 0.48rem !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a {
    height: 1.82rem !important;
    min-height: 1.82rem !important;
    max-height: 1.82rem !important;
    min-width: 2.15rem !important;
    border-radius: 0.58rem !important;
  }

  .lineage-post > .post-actions > .icon-action i,
  .lineage-post > .post-actions > .post-action i,
  .lineage-post > .post-actions > button i,
  .lineage-post > .post-actions > a i {
    font-size: 0.78rem !important;
    line-height: 1 !important;
  }

  .lineage-post > .post-actions > .icon-action svg,
  .lineage-post > .post-actions > .post-action svg,
  .lineage-post > .post-actions > button svg,
  .lineage-post > .post-actions > a svg {
    width: 0.82rem !important;
    height: 0.82rem !important;
  }
}

@media (max-width: 380px) {
  .lineage-post > .post-actions {
    gap: 0.2rem !important;
    padding: 0.28rem 0.42rem !important;
  }

  .lineage-post > .post-actions > .icon-action,
  .lineage-post > .post-actions > .post-action,
  .lineage-post > .post-actions > button,
  .lineage-post > .post-actions > a {
    height: 1.72rem !important;
    min-height: 1.72rem !important;
    max-height: 1.72rem !important;
  }
}

/* CP335: hidden mobile chrome must not leave a blank spacer.
   Source/mode rows were intentionally stable in CP329, but after Feed/Tree moved
   into the workspace title row that stability became empty vertical space while
   reading. Collapse the now-transient rows only in mobile reading/compact state;
   near-top mode still keeps the source/title controls reachable. */
@media (max-width: 640px) {
  body.mobile-reading .mobile-source-mode-row,
  body.mobile-reading .workspace-source-strip,
  body.mobile-reading .source-strip-stable,
  body.mobile-reading .feed-toolbar.mobile-tools-only,
  body.mobile-reading .feed-toolbar.discovery.mobile-tools-only,
  body.mobile-reading .feed-toolbar.lineage.mobile-tools-only,
  body.mobile-reading .workspace-policy-foundation,
  body.mobile-reading .workspace-policy-shell,
  body.mobile-reading .policy-note.workspace-policy-foundation {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  body.mobile-reading .workspace-strip.mobile-title-mode-row {
    height: 2.12rem !important;
    min-height: 2.12rem !important;
    max-height: 2.12rem !important;
    padding-top: 0.32rem !important;
    padding-bottom: 0.32rem !important;
    border-bottom-width: 0 !important;
  }

  body.mobile-reading .workspace,
  body.mobile-reading .workspace.workspace-shell,
  body.mobile-reading .workspace.workspace-foundation {
    gap: 0 !important;
  }

  body.mobile-reading .post-feed.discovery,
  body.mobile-reading .post-feed.lineage,
  body.mobile-reading .post-feed {
    padding-top: 0.18rem !important;
  }

  body.mobile-reading .post-feed > .lineage-post:first-child,
  body.mobile-reading .post-feed > .lineage-search-legend:first-child + .lineage-post,
  body.mobile-reading .post-feed > .discovery-window-loader:first-child + .lineage-post {
    margin-top: 0 !important;
  }

  .workspace.mobile-chrome-compact .mobile-source-mode-row:not(:has(.feed-mode)),
  .workspace.mobile-chrome-compact .mobile-source-mode-row:has(.workspace-source-strip):not(:has(.workspace-source-pill:not([hidden]))) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }
}

/* CP342: workspace drop choice should feel like a Tiinex workflow, not a browser/system prompt. */
.workspace-drop-choice-backdrop {
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 50% 20%, rgba(149, 88, 255, .22), rgba(8, 6, 14, .82) 52%, rgba(0, 0, 0, .9));
}
.workspace-drop-choice-panel.tiinex-choice-panel {
  max-width: min(720px, calc(100vw - 28px));
  border-color: rgba(190, 130, 255, .38);
  box-shadow: 0 22px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(190,130,255,.08) inset;
}
.workspace-drop-choice-head {
  border-bottom: 1px solid rgba(190, 130, 255, .22);
}
.workspace-drop-choice-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 4px 14px;
  padding: 10px 12px;
  border: 1px solid rgba(120, 255, 210, .18);
  border-radius: 14px;
  color: var(--tv-muted);
  background: rgba(36, 211, 173, .06);
  font-size: .9rem;
}
.workspace-drop-choice-summary i { color: var(--tv-mint); }
.workspace-drop-choice-card {
  text-align: left;
  min-height: 96px;
}
.workspace-drop-choice-card.selected {
  background: linear-gradient(135deg, rgba(115, 62, 208, .30), rgba(36, 211, 173, .10));
  border-color: rgba(190, 130, 255, .56);
}
@media (max-width: 680px) {
  .workspace-drop-choice-grid { grid-template-columns: 1fr; }
  .workspace-drop-choice-card { min-height: 84px; }
}
