:root {
  --brand: 123 97 255;
  --brand-fg: 255 255 255;
  --accent: 167 139 250;
  --tint: 214 188 255;
  --bg: 9 9 11;
  --surface: 17 17 22;
  --elevated: 23 23 31;
  --border: 39 39 47;
  --fg: 250 250 250;
  --muted: 161 161 170;
  --success: 52 211 153;
  --warning: 251 191 36;
  --danger: 248 113 113;
  --radius: 18px;
  --radius-sm: 12px;
  --font: "Open Sans", ui-sans-serif, system-ui, sans-serif;
  --font-muted: 11px;
  --shadow-soft: 0 1px 2px #0006, 0 16px 40px -12px #00000080;
  --shadow-lift: 0 2px 6px #00000073, 0 32px 64px -16px #0009;
  --glow-brand: 0 0 0 1px rgb(var(--brand) / 0.35), 0 4px 32px -4px rgb(var(--brand) / 0.5);
  --sidebar-w: 260px;
  --app-header-h: 4rem;
  --stack-gap: 0.85rem;
  --field-gap: 1.55rem;
  --label-gap: 0.5rem;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
html { color-scheme: dark; }
body {
  background: rgb(var(--bg));
  color: rgb(var(--fg));
  font-family: var(--font);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: rgb(var(--brand) / 0.35); color: rgb(var(--fg)); }

a { color: rgb(var(--accent)); }
h1, h2, h3, strong, .brand strong { font-family: var(--font); font-weight: 600; }
h1 { font-size: 24px; letter-spacing: -0.03em; margin: 0 0 0.35rem; }
h2, h3 { font-size: 15px; letter-spacing: -0.02em; margin: 0 0 0.75rem; }
p { margin: 0 0 0.8rem; }
.lede, .muted, small { color: rgb(var(--muted)); font-size: var(--font-muted); }

.app-atmosphere {
  background:
    radial-gradient(1100px 560px at 18% -14%, rgb(var(--brand) / 0.13), transparent 55%),
    radial-gradient(900px 480px at 95% -6%, rgb(var(--accent) / 0.07), transparent 50%),
    radial-gradient(1400px 700px at 50% 115%, rgb(var(--brand) / 0.05), transparent 60%),
    rgb(var(--bg));
}

.app {
  display: grid;
  grid-template-columns: var(--sidebar-w) minmax(0, 1fr);
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
}
.workspace {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  height: 100vh;
  overflow: hidden;
  position: relative;
}

.sidebar {
  background: rgb(var(--surface) / 0.92);
  border-right: 1px solid rgb(var(--border));
  color: rgb(var(--fg));
  padding: 0 0.9rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  backdrop-filter: blur(18px);
  height: 100vh;
  overflow-y: auto;
  position: sticky;
  top: 0;
  align-self: start;
}
.sidebar nav { display: flex; flex-direction: column; gap: 5px; flex: 1; min-height: 0; }
.sidebar-item {
  color: rgb(var(--muted));
  text-decoration: none;
  padding: 0.58rem 0.75rem;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  list-style: none;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.sidebar-item-row {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  width: 100%;
  min-width: 0;
}
.sidebar-group > summary.sidebar-item {
  display: flex;
  list-style: none;
}
.sidebar-item::-webkit-details-marker,
.sidebar-group > summary::-webkit-details-marker { display: none; }
.sidebar-group > summary::marker { content: none; display: none; }
.sidebar-item svg,
.sidebar-glyph {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  max-width: 18px;
  max-height: 18px;
  flex: 0 0 18px;
  display: block;
  opacity: 0.85;
}
.sidebar-item.is-active,
.sidebar-item:hover {
  background: rgb(var(--brand) / 0.12);
  color: rgb(var(--fg));
  box-shadow: inset 0 0 0 1px rgb(var(--brand) / 0.28);
}
.sidebar-item.is-active { box-shadow: var(--glow-brand); }
.sidebar-sep {
  border: 0;
  border-top: 1px solid rgb(var(--fg) / 0.14);
  margin: 0.55rem 0.65rem;
  height: 0;
}
.sidebar-group { display: block; }
.sidebar-group-end {
  margin-top: auto;
  padding-top: 0.55rem;
  border-top: 1px solid rgb(var(--fg) / 0.14);
}
.sidebar-group.is-current > .sidebar-item { color: rgb(var(--fg)); }
.sidebar-chevron {
  margin-left: auto;
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  max-width: 16px;
  max-height: 16px;
  flex: 0 0 16px;
  opacity: 0.6;
  pointer-events: none;
  transition: transform 0.2s ease;
}
.sidebar-item .sidebar-chevron,
.sidebar-item-row .sidebar-chevron {
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  max-width: 16px;
  max-height: 16px;
  flex: 0 0 16px;
}
.sidebar-group[open] > .sidebar-item .sidebar-chevron { transform: rotate(180deg); }
.sidebar-sub {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 0.1rem 0 0.2rem 0.85rem;
}
.sidebar-sub .sidebar-item {
  padding: 0.45rem 0.75rem;
  font-size: 13px;
}
.sidebar-nested-sub .sidebar-item {
  font-size: 11px;
}
.sidebar-nested { display: block; }
.sidebar-nested > summary.sidebar-item {
  display: flex;
  list-style: none;
  cursor: pointer;
}
.sidebar-nested > summary::-webkit-details-marker { display: none; }
.sidebar-nested > summary::marker { content: none; display: none; }
.sidebar-nested[open] > .sidebar-item .sidebar-chevron { transform: rotate(180deg); }
.sidebar-nested-sub {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 0.1rem 0 0.15rem 0.7rem;
}
.sidebar-nested.is-current > .sidebar-item { color: rgb(var(--fg)); }

.brand {
  display: flex;
  gap: 0.7rem;
  align-items: center;
  text-decoration: none;
  color: inherit;
  height: var(--app-header-h);
  min-height: var(--app-header-h);
  margin: 0 -0.9rem;
  padding: 0 1.3rem;
  border-bottom: 1px solid rgb(var(--border));
  flex-shrink: 0;
}
.brand strong { display: block; font-size: 15px; letter-spacing: -0.02em; }
.brand small {
  display: block;
  color: rgb(var(--muted));
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 0.1rem;
}
.brand-mark {
  width: 2.35rem;
  height: 2.35rem;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  overflow: visible;
  filter: drop-shadow(0 0 12px rgb(var(--brand) / 0.45));
}
.brand-orb { width: 100%; height: 100%; display: block; }

.colibri-orb {
  display: block;
  flex-shrink: 0;
  overflow: visible;
  pointer-events: none;
}
.colibri-orb-sm { width: 2.35rem; height: 2.35rem; }
.colibri-orb-md { width: 5.5rem; height: 5.5rem; }
.colibri-orb-lg { width: 11.25rem; height: 11.25rem; }
.colibri-orb-svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
  shape-rendering: geometricPrecision;
}
.colibri-orb--float {
  animation: colibri-orb-float 8s ease-in-out infinite;
}
.colibri-orb-bloom {
  animation: colibri-orb-breathe 6s ease-in-out infinite;
  transform-origin: 100px 100px;
  transform-box: view-box;
}
.colibri-orb-waves-static { display: none; }

@keyframes colibri-orb-float {
  0%,
  100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes colibri-orb-breathe {
  0%,
  100% {
    opacity: 0.7;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.03);
  }
}

.colibri-orb-loader {
  position: fixed;
  inset: 0;
  z-index: 80;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  border: 0;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  overflow: auto;
  color: inherit;
  background: rgb(var(--bg) / 0.78);
  backdrop-filter: blur(16px);
}
.colibri-orb-loader[hidden] { display: none !important; }
.colibri-orb-loader:popover-open {
  position: fixed;
  inset: 0;
  z-index: 80;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  border: 0;
  padding: 1.5rem;
  color: inherit;
  background: rgb(var(--bg) / 0.78);
}
.colibri-orb-loader-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.85rem;
  max-width: 22rem;
  outline: none;
}
.colibri-orb-loader-title {
  margin: 0.35rem 0 0;
  font-size: calc(1.15rem - 1px);
  font-weight: 600;
  letter-spacing: -0.02em;
}
.colibri-orb-loader-copy {
  margin: 0;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
}
body.is-generating { cursor: wait; }
form[data-generating="1"] { pointer-events: none; }
.flash:focus {
  outline: 2px solid rgb(var(--accent));
  outline-offset: 3px;
}
.research-step h2:focus {
  outline: 2px solid rgb(var(--accent));
  outline-offset: 4px;
}

@media (max-width: 640px) {
  .colibri-orb-md { width: 4.5rem; height: 4.5rem; }
  .colibri-orb-lg { width: 8.75rem; height: 8.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .colibri-orb,
  .colibri-orb--float,
  .colibri-orb-bloom {
    animation: none !important;
  }
  .colibri-orb-waves-live { display: none; }
  .colibri-orb-waves-static { display: block; }
}

.sidebar-foot {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.sidebar-user {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  color: rgb(var(--muted));
  font-size: 11px;
  padding: 0.65rem 0.55rem 0.2rem;
  border-top: 1px solid rgb(var(--border));
  margin-top: 0;
}
.sidebar-user-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-width: 0;
}
.sidebar-user-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  color: rgb(var(--fg));
  font-weight: 500;
}
.sidebar-user .linkish { flex-shrink: 0; }

.topbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  height: var(--app-header-h);
  min-height: var(--app-header-h);
  padding: 0 clamp(1.1rem, 2.4vw, 2.4rem);
  background: rgb(var(--surface) / 0.92);
  border-bottom: 1px solid rgb(var(--border));
  backdrop-filter: blur(18px);
  flex-shrink: 0;
  position: sticky;
  top: 0;
  z-index: 20;
}
.topbar-end { display: flex; align-items: center; gap: 0.7rem; }
.nav-toggle {
  display: none;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid rgb(var(--border));
  background: rgb(var(--elevated) / 0.7);
  color: rgb(var(--fg));
  cursor: pointer;
}
.nav-toggle span,
.nav-toggle span::before,
.nav-toggle span::after {
  display: block;
  width: 16px;
  height: 1.5px;
  background: currentColor;
  position: relative;
  margin: 0 auto;
}
.nav-toggle span::before,
.nav-toggle span::after {
  content: "";
  position: absolute;
  left: 0;
}
.nav-toggle span::before { top: -5px; }
.nav-toggle span::after { top: 5px; }
.nav-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgb(0 0 0 / 0.45);
  z-index: 30;
  border: 0;
  padding: 0;
}
.avatar {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  overflow: hidden;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff;
  background: linear-gradient(135deg, rgb(var(--brand)), rgb(var(--accent)));
  box-shadow: 0 0 0 1px rgb(var(--brand) / 0.4), 0 8px 20px -8px rgb(var(--brand) / 0.7);
}
img.avatar {
  display: block;
  object-fit: cover;
}
.account-menu { position: relative; }
.account-menu-toggle {
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  border-radius: 999px;
}
.account-menu-toggle:focus-visible {
  outline: 2px solid rgb(var(--accent));
  outline-offset: 3px;
}
.account-menu-panel {
  position: absolute;
  top: calc(100% + 0.55rem);
  right: 0;
  min-width: 14.5rem;
  padding: 0.45rem;
  border: 1px solid rgb(var(--border));
  border-radius: 12px;
  background: rgb(var(--surface));
  box-shadow: var(--shadow-lift);
  z-index: 30;
}
.account-menu-meta {
  display: grid;
  gap: 0.1rem;
  padding: 0.45rem 0.65rem 0.55rem;
  border-bottom: 1px solid rgb(var(--border));
  margin-bottom: 0.3rem;
}
.account-menu-meta strong { font-size: 13px; }
.account-menu-meta span {
  color: rgb(var(--muted));
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-menu-panel a {
  display: block;
  padding: 0.5rem 0.65rem;
  border-radius: 8px;
  color: inherit;
  text-decoration: none;
  font-size: 13px;
}
.account-menu-panel a:hover { background: rgb(var(--elevated)); }
.profile-photo {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
.profile-avatar {
  width: 88px;
  height: 88px;
  font-size: 27px;
}
.profile-photo .stack { flex: 1 1 14rem; }
.profile-remove {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 400;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
}
.profile-remove input { margin: 0; }

.main {
  width: 100%;
  max-width: none;
  min-width: 0;
  flex: 1 1 auto;
  overflow: auto;
  padding: 1.5rem clamp(1.1rem, 2.4vw, 2.4rem) 3.5rem;
  font-size: 13px;
}

.page-head {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem 1rem;
  margin-bottom: 1.75rem;
  min-width: 0;
}
.page-head > div:first-child {
  min-width: 0;
  flex: 1 1 16rem;
}
.page-head > .btn,
.page-head > .row-actions {
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.page-head p { max-width: 46rem; color: rgb(var(--muted)); font-size: var(--font-muted); }
.page-head p.page-head-line { max-width: none; }
.greeting h1 { font-size: 26px; font-weight: 600; }
.greeting h1 em {
  font-style: normal;
  background: linear-gradient(90deg, rgb(var(--accent)), rgb(var(--tint)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.card {
  background: rgb(var(--surface) / 0.82);
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius);
  padding: 1.4rem 1.5rem;
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(12px);
}
.card.empty { color: rgb(var(--muted)); font-size: var(--font-muted); }
.card.empty .row-actions { margin-top: 0.75rem; }
.card:not(.stack) > .row-actions:last-child { margin-top: 1.15rem; }
.main > .card + .card,
.main > section.card + section.card,
.main > form > .card + .card,
.main > form > section.card + section.card,
.main > form > section.card + .row-actions,
.main > form + section.card {
  margin-top: 1.25rem;
}
.stack { display: grid; gap: var(--stack-gap); }
form.stack,
.card.stack,
.voice-form,
.ig-form {
  gap: var(--field-gap);
}
.stack > h1,
.stack > h2,
.stack > h3,
.stack > p {
  margin: 0;
}
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--field-gap) 1.15rem; }
.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--field-gap) 1.15rem; }
.preset-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.15rem;
  align-items: flex-end;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid rgb(var(--border));
}
.preset-bar label { flex: 1; min-width: 14rem; }
.preset-help { margin: 0; font-size: var(--font-muted); }
.article-create { display: grid; gap: 0.85rem; }
.article-create > .btn { width: 100%; }
.article-create .grid-2 > * { min-width: 0; }
.article-create .span-2 { grid-column: 1 / -1; }
.article-source-modes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  border: 0;
}
.article-source-modes label {
  display: grid;
  gap: 0.2rem;
  margin: 0;
  padding: 0.95rem 1rem;
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  background: rgb(var(--elevated) / 0.4);
  cursor: pointer;
}
.article-source-modes label.is-selected {
  border-color: rgb(var(--brand) / 0.6);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.16);
}
.article-source-modes small { color: rgb(var(--muted)); font-weight: 400; }
.font-choice-preview {
  margin: 0;
  min-height: 1.4rem;
  font-size: calc(1.2rem - 1px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
}
.voice-font-accordion {
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  background: rgb(var(--elevated) / 0.4);
  box-shadow: none;
}
.article-source-modes input { width: auto; min-height: 0; margin: 0; }

label { display: grid; gap: var(--label-gap); font-size: 13px; font-weight: 500; color: rgb(var(--fg) / 0.9); }
form.stack > label,
.card.stack > label,
.voice-form > label,
.ig-form > label,
.ig-field > label {
  gap: var(--label-gap);
}
input, select, textarea {
  font: inherit;
  color: rgb(var(--fg));
  padding: 0.55rem 0.85rem;
  min-height: 2.75rem;
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  background-color: rgb(var(--elevated) / 0.55);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="range"]):not([type="color"]),
select {
  height: 2.75rem;
}
select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  padding-right: 2.35rem;
}
input::placeholder, textarea::placeholder { color: rgb(var(--muted) / 0.7); font-size: var(--font-muted); }
input:hover, select:hover, textarea:hover { border-color: rgb(var(--fg) / 0.15); }
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: rgb(var(--brand) / 0.5);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.22);
}
.country-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  padding: 0.35rem 0.55rem;
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  background-color: rgb(var(--elevated) / 0.55);
  cursor: text;
}
.country-chips:focus-within {
  border-color: rgb(var(--brand) / 0.5);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.22);
}
.country-chips.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.country-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  max-width: 100%;
  padding: 0.12rem 0.2rem 0.12rem 0.55rem;
  border-radius: 999px;
  background: rgb(var(--brand) / 0.18);
  color: rgb(var(--fg));
  font-size: calc(0.8rem - 1px);
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.country-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgb(var(--muted));
  font: inherit;
  font-size: calc(0.95rem - 1px);
  line-height: 1;
  cursor: pointer;
}
.country-chip-remove:hover { color: rgb(var(--fg)); background: rgb(var(--fg) / 0.08); }
.country-chips input.country-chip-input {
  flex: 1 1 4.5rem;
  width: auto;
  min-width: 4.5rem;
  height: 1.7rem !important;
  min-height: 0 !important;
  margin: 0;
  padding: 0 0.25rem !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}
.country-chips input.country-chip-input:focus {
  outline: none;
  border: 0 !important;
  box-shadow: none !important;
}
.country-chip-error {
  margin: 0.35rem 0 0;
  color: rgb(var(--danger));
  font-size: var(--font-muted);
  font-weight: 500;
}
label:has(.country-chips) { min-width: 0; }
.publication-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  padding: 0.35rem 0.55rem;
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  background-color: rgb(var(--elevated) / 0.55);
  cursor: text;
}
.publication-chips:focus-within {
  border-color: rgb(var(--brand) / 0.5);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.22);
}
.publication-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  max-width: 100%;
  padding: 0.12rem 0.2rem 0.12rem 0.55rem;
  border-radius: 999px;
  background: rgb(var(--brand) / 0.18);
  color: rgb(var(--fg));
  font-size: calc(0.8rem - 1px);
  font-weight: 600;
  line-height: 1.3;
}
.publication-chip-label {
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.publication-chip-remove {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgb(var(--muted));
  font: inherit;
  font-size: calc(0.95rem - 1px);
  line-height: 1;
  cursor: pointer;
}
.publication-chip-remove:hover { color: rgb(var(--fg)); background: rgb(var(--fg) / 0.08); }
.publication-chips input.publication-chip-input {
  flex: 1 1 10rem;
  width: auto;
  min-width: 10rem;
  height: 1.7rem !important;
  min-height: 0 !important;
  margin: 0;
  padding: 0 0.25rem !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}
.publication-chips input.publication-chip-input:focus {
  outline: none;
  border: 0 !important;
  box-shadow: none !important;
}
.publication-chip-error {
  margin: 0.35rem 0 0;
  color: rgb(var(--danger));
  font-size: var(--font-muted);
  font-weight: 500;
}
label:has(.publication-chips) { min-width: 0; }
textarea { min-height: 8rem; resize: vertical; }
fieldset {
  display: grid;
  gap: var(--field-gap);
  margin: 0;
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius);
  padding: 1.1rem 1.2rem 1.2rem;
  background: rgb(var(--elevated) / 0.25);
}
legend { padding: 0 0.35rem; font-weight: 600; width: max-content; }
.check { font-weight: 500; display: flex; align-items: center; gap: 0.45rem; }
.checks { display: flex; flex-wrap: wrap; gap: 0.8rem 1.2rem; }
.check input { width: auto; min-height: 0; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  background: rgb(var(--brand));
  color: rgb(var(--brand-fg));
  border: 0;
  border-radius: 10px;
  padding: 0.55rem 1.05rem;
  min-height: 40px;
  font-weight: 500;
  font-size: 15px;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.2), 0 4px 20px -4px rgb(var(--brand) / 0.5);
  transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
}
.btn:hover { filter: brightness(1.1); box-shadow: 0 6px 28px -4px rgb(var(--brand) / 0.7); }
.btn-ghost {
  background: rgb(var(--elevated) / 0.6);
  color: rgb(var(--fg));
  border: 1px solid rgb(var(--border));
  box-shadow: none;
}
.btn-ghost:hover { border-color: rgb(var(--fg) / 0.2); background: rgb(var(--elevated)); filter: none; }
.btn-danger { background: rgb(var(--danger)); box-shadow: 0 4px 20px -4px rgb(var(--danger) / 0.45); }
.btn-outline {
  background: transparent;
  color: rgb(var(--accent));
  border: 1px solid rgb(var(--accent) / 0.55);
  box-shadow: none;
}
.btn-outline:hover { background: rgb(var(--accent) / 0.12); filter: none; }
.btn-outline-danger {
  background: transparent;
  color: rgb(var(--danger));
  border: 1px solid rgb(var(--danger) / 0.55);
  box-shadow: none;
}
.btn-outline-danger:hover { background: rgb(var(--danger) / 0.12); filter: none; }
[hidden] { display: none !important; }
button:disabled, .btn[disabled] { opacity: 0.5; cursor: not-allowed; }
.linkish {
  background: none;
  border: 0;
  color: rgb(var(--accent));
  cursor: pointer;
  padding: 0;
  font: inherit;
}
.row-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.inline, .inline-form { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; }
.table .inline-form { margin-top: 0.4rem; }
.table .inline-form select {
  min-height: 2.2rem;
  height: 2.2rem;
  max-width: 11rem;
  font-size: 12px;
}
.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid rgb(var(--accent) / 0.35);
  border-radius: 8px;
  background: transparent;
  color: rgb(var(--accent));
  cursor: pointer;
}
.icon-btn:hover { background: rgb(var(--accent) / 0.12); }
.icon-btn-danger {
  color: rgb(var(--danger));
  border-color: rgb(var(--danger) / 0.4);
}
.icon-btn-danger:hover { background: rgb(var(--danger) / 0.12); }
.icon-btn svg { width: 16px; height: 16px; flex: none; }
.table-actions {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  justify-content: flex-end;
}
.table-actions form { margin: 0; }
.table .table-actions-col {
  width: 1%;
  white-space: nowrap;
}
.table-date {
  white-space: nowrap;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
}
.table-check-col {
  width: 1%;
  padding-right: 0.45rem;
  vertical-align: middle;
}
.table-check {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  cursor: pointer;
}
.table-check input {
  width: 1.05rem;
  height: 1.05rem;
  min-height: 0;
  padding: 0;
  accent-color: rgb(var(--brand));
}
.library-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin: 0 0 1.1rem;
}
.library-toolbar:not(:has(.library-filter)):not(:has(.image-library-views)) {
  justify-content: flex-end;
}
.library-toolbar:has(.image-library-views) {
  align-items: center;
}
.library-select-all {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  cursor: pointer;
  color: rgb(var(--fg) / 0.9);
  font-size: 13px;
  font-weight: 500;
}
.library-select-all input {
  width: 1.05rem;
  height: 1.05rem;
  min-height: 0;
  padding: 0;
  accent-color: rgb(var(--brand));
}
.library-filter {
  min-width: 14rem;
  max-width: 18rem;
}
.library-filter select { min-width: 14rem; }
.library-toolbar form { margin: 0; }
.library-toolbar .btn {
  min-height: 36px;
  padding: 0.4rem 0.75rem;
  font-size: 13px;
}
.library-bulk {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius-sm);
  background: rgb(var(--elevated) / 0.45);
}
.library-bulk p { margin: 0; }
.library-bulk form { margin: 0; }
.library-bulk .btn {
  min-height: 36px;
  padding: 0.4rem 0.75rem;
  font-size: 13px;
}
@media (max-width: 768px) {
  .table .table-actions-col {
    position: sticky;
    right: 0;
    background: rgb(var(--surface) / 0.96);
    box-shadow: -8px 0 12px -10px rgb(0 0 0 / 0.55);
  }
}
.modal {
  width: min(28rem, calc(100vw - 2rem));
  padding: 0;
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius);
  background: rgb(var(--surface));
  color: inherit;
  box-shadow: var(--shadow-lift);
}
.modal::backdrop { background: rgb(0 0 0 / 0.62); }
.modal-panel { padding: 1.25rem 1.3rem 1.35rem; }
.modal-panel h2 { margin: 0; font-size: 17px; }
.modal-panel .muted { margin: 0; }

.flash { padding: 0.8rem 1rem; border-radius: 14px; margin-bottom: 1rem; border: 1px solid transparent; }
.flash-success { background: rgb(var(--success) / 0.12); color: rgb(var(--success)); border-color: rgb(var(--success) / 0.25); }
.flash-error { background: rgb(var(--danger) / 0.12); color: rgb(var(--danger)); border-color: rgb(var(--danger) / 0.25); }
.banner {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
  background: rgb(var(--warning) / 0.08);
  border: 1px solid rgb(var(--warning) / 0.28);
  border-radius: var(--radius);
  padding: 1rem 1.15rem;
  margin-bottom: 1.25rem;
}
.banner span { color: rgb(var(--muted)); flex: 1; font-size: var(--font-muted); }

.actions, .pipeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
  margin-bottom: 1.25rem;
}
.actions a, .pipeline a {
  background: rgb(var(--surface) / 0.8);
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius);
  padding: 1.05rem 1.1rem;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  box-shadow: var(--shadow-soft);
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  overflow: hidden;
}
.actions a { min-height: 8.5rem; padding-bottom: 2.1rem; }
.pipeline a { padding-bottom: 2rem; }
.actions .usage-limit,
.pipeline .usage-limit {
  position: absolute;
  right: 0.9rem;
  bottom: 0.7rem;
  z-index: 1;
  display: block;
  margin: 0;
  color: rgb(var(--muted));
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
}
.actions a::after, .pipeline a::after {
  content: "";
  position: absolute;
  right: -10%;
  bottom: -30%;
  width: 70%;
  height: 70%;
  background: radial-gradient(closest-side, rgb(var(--brand) / 0.22), transparent 72%);
  pointer-events: none;
}
.actions a:hover, .pipeline a:hover {
  border-color: rgb(var(--brand) / 0.4);
  transform: translateY(-2px);
  box-shadow: var(--glow-brand);
}
.actions .icon, .pipeline .icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgb(var(--brand) / 0.14);
  color: rgb(var(--accent));
  margin-bottom: 0.55rem;
}
.actions .icon svg, .pipeline .icon svg { width: 16px; height: 16px; }
.actions span, .pipeline span {
  display: block;
  color: rgb(var(--accent));
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.actions strong, .pipeline strong { display: block; font-size: 15px; line-height: 1.3; position: relative; }
.actions small, .pipeline small { color: rgb(var(--muted)); position: relative; }
.pipeline strong { font-size: 27px; }

.status-list, .plain-list, .card-list { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.status-list li, .plain-list li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgb(var(--border));
}
.plain-list a { display: block; text-decoration: none; color: inherit; width: 100%; }
.plain-list a:hover strong { color: rgb(var(--accent)); }
.plain-list span { display: block; color: rgb(var(--muted)); font-size: var(--font-muted); }
.card-list { display: grid; gap: 1rem; }
.card-list .card { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.colour-field {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.75rem;
  padding: 0.35rem 0.85rem 0.35rem 0.45rem;
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  background-color: rgb(var(--elevated) / 0.55);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.colour-field:hover { border-color: rgb(var(--fg) / 0.15); }
.colour-field:focus-within {
  border-color: rgb(var(--brand) / 0.5);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.22);
}
.colour-swatch {
  position: relative;
  width: 1.7rem;
  height: 1.7rem;
  flex: none;
  border-radius: 8px;
  border: 1px solid rgb(var(--fg) / 0.18);
  overflow: hidden;
  background:
    linear-gradient(var(--swatch, transparent), var(--swatch, transparent)),
    repeating-conic-gradient(rgb(var(--fg) / 0.18) 0 25%, transparent 0 50%) 50% 50% / 8px 8px;
}
.colour-swatch input[type="color"] {
  position: absolute;
  inset: -20%;
  width: 140%;
  height: 140%;
  min-height: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: pointer;
}
.colour-field input[type="text"] {
  flex: 1;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.colour-field input[type="text"]:hover,
.colour-field input[type="text"]:focus {
  border: 0;
  box-shadow: none;
}
.voice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.voice-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
  overflow: hidden;
}
.voice-card.is-default {
  border-color: rgb(var(--brand) / 0.55);
}
.voice-card-head,
.voice-card-body,
.voice-card-foot {
  padding: 1rem 1.1rem;
}
.voice-card-body,
.voice-card-foot {
  border-top: 1px solid rgb(var(--border));
}
.voice-card-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.65rem 0.75rem;
  align-items: start;
}
.voice-card-mark {
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 10px;
  background: rgb(var(--brand));
  color: rgb(var(--brand-fg));
}
.voice-card-mark svg,
.voice-card-tag svg,
.voice-card-default svg,
.voice-card-make-default svg,
.voice-card-foot svg {
  width: 15px;
  height: 15px;
  flex: none;
}
.voice-card-heading { min-width: 0; }
.voice-card-title {
  margin: 0;
  font-size: 14px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.voice-card-updated {
  margin: 0.2rem 0 0;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
}
.voice-card-default,
.voice-card-make-default {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  border-radius: 999px;
  padding: 0.22rem 0.62rem;
  font: inherit;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.voice-card-default {
  background: rgb(var(--brand));
  color: rgb(var(--brand-fg));
}
.voice-card-make-default {
  background: transparent;
  color: rgb(var(--muted));
  border: 1px solid rgb(var(--border));
  cursor: pointer;
}
.voice-card-make-default:hover {
  color: rgb(var(--fg));
  border-color: rgb(var(--fg) / 0.22);
  background: rgb(var(--elevated));
}
.voice-card-head form { margin: 0; }
.voice-card-body {
  display: grid;
  gap: 0.75rem;
  flex: 1;
}
.voice-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.voice-card-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  padding: 0.22rem 0.58rem;
  border-radius: 999px;
  border: 1px solid rgb(var(--border));
  background: rgb(var(--elevated) / 0.7);
  color: rgb(var(--fg) / 0.88);
  font-size: 11px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.voice-card-swatches {
  display: flex;
  gap: 0.4rem;
}
.voice-card-swatch {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 6px;
  border: 1px solid rgb(var(--fg) / 0.16);
  background: var(--swatch);
}
.voice-card-copy {
  margin: 0;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.voice-card-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.voice-card-foot form { margin: 0; }
.voice-card-foot .btn {
  min-height: 36px;
  padding: 0.4rem 0.75rem;
  font-size: 13px;
}
.activity-log-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
}
.activity-log-toolbar .muted { margin: 0; }
.activity-log-table td strong {
  display: block;
  font-weight: 600;
}
.activity-log-table td .muted {
  display: block;
  margin-top: 0.15rem;
  font-size: var(--font-muted);
}
.pill-log-error {
  background: rgb(var(--danger) / 0.16);
  color: rgb(var(--danger));
  margin-left: 0;
}
.pill-log-warning {
  background: rgb(var(--warning) / 0.16);
  color: rgb(214 163 40);
  margin-left: 0;
}
.pill-log-info {
  margin-left: 0;
}

.table {
  width: 100%;
  border-collapse: collapse;
  background: rgb(var(--surface) / 0.82);
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius);
  overflow: hidden;
  font-size: 13px;
}
.table th, .table td { text-align: left; padding: 0.8rem 0.9rem; border-bottom: 1px solid rgb(var(--border)); font-size: 13px; }
.table th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgb(var(--muted));
  background: rgb(var(--elevated) / 0.5);
}
.table tr:last-child td { border-bottom: 0; }
.article-body { font-family: var(--font); font-size: 13px; }
.article-body h2, .article-body h3 { margin: 1.2rem 0 0.5rem; }
.article-body p { margin: 0 0 0.85rem; }
.article-body ul, .article-body ol { margin: 0 0 0.85rem; padding-left: 1.3rem; }
.article-edit {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.8fr);
  gap: 1.25rem;
  align-items: start;
}
.article-edit > .stack { gap: 1.25rem; }
.article-editor { min-width: 0; }
.article-editor.stack { gap: var(--field-gap); }
.brief-list {
  display: grid;
  gap: 0.9rem;
  margin: 0;
}
.brief-list > div { min-width: 0; }
.brief-list dt {
  margin: 0 0 0.15rem;
  font-size: 12px;
  font-weight: 600;
  color: rgb(var(--fg) / 0.92);
}
.brief-list dd {
  margin: 0;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
  overflow-wrap: anywhere;
}
.brief-list a { color: rgb(var(--accent)); }
.field-compact { min-height: 4.5rem; }
.rte {
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius-sm);
  background: rgb(var(--elevated) / 0.35);
  overflow: hidden;
}
.rte-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  padding: 0.6rem 0.7rem;
  border-bottom: 1px solid rgb(var(--border));
  background: rgb(var(--elevated) / 0.55);
}
.rte-toolbar button {
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  color: rgb(var(--fg));
  background: rgb(var(--surface) / 0.8);
  border: 1px solid rgb(var(--border));
  border-radius: 10px;
  min-height: 2rem;
  padding: 0.25rem 0.6rem;
  cursor: pointer;
}
.rte-toolbar button:hover {
  border-color: rgb(var(--fg) / 0.2);
  background: rgb(var(--elevated));
}
.rte-toolbar button:focus {
  outline: none;
  border-color: rgb(var(--brand) / 0.5);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.22);
}
.rte-sep {
  width: 1px;
  align-self: stretch;
  background: rgb(var(--border));
  margin: 0.15rem 0.2rem;
}
.rte-surface {
  min-height: 28rem;
  padding: 1.15rem 1.25rem;
  outline: none;
}
.rte-surface:focus {
  box-shadow: inset 0 0 0 1px rgb(var(--brand) / 0.35);
}
.risk-review { margin-top: 1.25rem; }
form[data-article-editor] > section.card + .article-edit { margin-top: 1.25rem; }
.risk-review-bar {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(220px, 16rem);
  gap: 1rem 1.5rem;
  align-items: start;
}
.risk-review-copy h2 {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.35rem;
}
.risk-review-copy p { margin: 0 0 0.35rem; }
.risk-review-copy p:last-child { margin-bottom: 0; }
.risk-review-icon {
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
}
.risk-review-disclaimer {
  color: rgb(194 120 46);
  font-size: 12px;
}
.risk-review-disclaimer strong { font-weight: 700; }
.risk-review-controls {
  display: grid;
  gap: 0.65rem;
  align-content: start;
}
.risk-review-controls .btn { width: 100%; }
.risk-review-results {
  display: grid;
  gap: 0.75rem;
  padding-top: 0.35rem;
  border-top: 1px solid rgb(var(--border));
}
.risk-review-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  align-items: center;
}
.risk-review-summary p { margin: 0; flex: 1 1 14rem; }
.risk-level {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.12rem 0.6rem;
  font-size: 11px;
  font-weight: 600;
  text-transform: capitalize;
}
.risk-level-low { background: rgb(var(--success) / 0.14); color: rgb(var(--success)); }
.risk-level-medium { background: rgb(var(--warning) / 0.16); color: rgb(214 163 40); }
.risk-level-high { background: rgb(var(--danger) / 0.16); color: rgb(var(--danger)); }
.risk-findings { display: grid; gap: 0.7rem; margin: 0; padding: 0; list-style: none; }
.risk-finding {
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius-sm);
  padding: 0.85rem 1rem;
  background: rgb(var(--elevated) / 0.35);
  cursor: pointer;
}
.risk-finding-high { border-color: rgb(var(--danger) / 0.35); }
.risk-finding-medium { border-color: rgb(var(--warning) / 0.35); }
.risk-finding.is-resolved {
  opacity: 0.72;
  cursor: default;
}
.risk-finding-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.65rem;
  align-items: center;
  margin-bottom: 0.5rem;
}
.risk-finding-meta .pill { margin-left: 0; }
.risk-finding blockquote,
.risk-finding p { margin: 0 0 0.55rem; }
.risk-finding blockquote {
  color: rgb(var(--fg) / 0.92);
  font-style: italic;
}
.risk-finding .muted { margin-bottom: 0.55rem; }
.risk-finding-alt {
  background: rgb(var(--success) / 0.08);
  border: 1px solid rgb(var(--success) / 0.22);
  border-radius: 10px;
  padding: 0.65rem 0.75rem;
  margin-bottom: 0.7rem;
}
.risk-finding-alt strong { display: block; margin-bottom: 0.2rem; font-size: 11px; }
.risk-missing { color: rgb(var(--warning)); font-size: 12px; }
.risk-mark {
  background: rgb(var(--warning) / 0.28);
  color: inherit;
  border-radius: 3px;
  padding: 0 0.12em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.risk-mark.is-current {
  background: rgb(var(--warning) / 0.5);
  box-shadow: 0 0 0 2px rgb(var(--warning) / 0.35);
}
.image-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.9rem; }
.image-grid img { width: 100%; height: 180px; object-fit: cover; border-radius: 12px; display: block; }
.image-grid figcaption { display: flex; justify-content: space-between; gap: 0.5rem; margin-top: 0.5rem; font-size: 13px; }
.image-library-views {
  display: inline-flex;
  border: 1px solid rgb(var(--border));
  border-radius: 10px;
  overflow: hidden;
  background: rgb(var(--elevated) / 0.45);
}
.image-library-views button {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.4rem 0.75rem;
  min-height: 36px;
  border: 0;
  background: transparent;
  color: rgb(var(--muted));
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
}
.image-library-views button + button { border-left: 1px solid rgb(var(--border)); }
.image-library-views button svg { width: 15px; height: 15px; }
.image-library-views button[aria-pressed="true"] {
  background: rgb(var(--brand));
  color: rgb(var(--brand-fg));
}
.image-library-items { display: grid; gap: 0.9rem; }
.image-library[data-view="grid"] .image-library-items {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.image-library-item {
  position: relative;
  min-width: 0;
  background: rgb(var(--surface) / 0.82);
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.image-library-item:has([data-library-select-row]:checked) {
  box-shadow: 0 0 0 2px rgb(var(--brand));
}
.image-library-check {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  cursor: pointer;
}
.image-library-check input {
  width: 1.05rem;
  height: 1.05rem;
  min-height: 0;
  padding: 0;
  accent-color: rgb(var(--brand));
}
.image-library-thumb {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
}
.image-library-thumb img {
  width: 100%;
  display: block;
  object-fit: cover;
}
.image-library-meta {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}
.image-library-meta strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.image-library-actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.image-library-actions form { margin: 0; }
.image-library[data-view="grid"] .image-library-item { isolation: isolate; }
.image-library[data-view="grid"] .image-library-check {
  position: absolute;
  top: 0.55rem;
  left: 0.55rem;
  z-index: 1;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 6px;
  background: rgb(var(--surface) / 0.82);
}
.image-library[data-view="grid"] .image-library-thumb img { aspect-ratio: 1; }
.image-library[data-view="grid"] .image-library-meta { display: none; }
.image-library[data-view="grid"] .image-library-actions {
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  z-index: 1;
}
.image-library[data-view="grid"] .icon-btn {
  background: rgb(var(--surface) / 0.88);
}
.image-library[data-view="list"] .image-library-items { gap: 0.55rem; }
.image-library[data-view="list"] .image-library-item {
  display: grid;
  grid-template-columns: auto 4.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.85rem;
  padding: 0.55rem 0.75rem;
}
.image-library[data-view="list"] .image-library-thumb { width: 4.5rem; }
.image-library[data-view="list"] .image-library-thumb img {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 10px;
}
.image-lightbox {
  inset: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgb(0 0 0 / 0.94);
  color: inherit;
  overflow: hidden;
}
.image-lightbox::backdrop { background: rgb(0 0 0 / 0.86); }
.image-lightbox[open] {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}
.image-lightbox-bar {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 3;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
.image-lightbox-count {
  margin: 0;
  color: rgb(var(--fg) / 0.85);
  font-size: 12px;
  font-weight: 500;
}
.image-lightbox-bar .icon-btn {
  background: rgb(var(--surface) / 0.88);
}
.image-lightbox-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 1px solid rgb(var(--fg) / 0.18);
  border-radius: 999px;
  background: rgb(var(--surface) / 0.88);
  color: rgb(var(--fg));
  cursor: pointer;
  transform: translateY(-50%);
}
.image-lightbox-nav svg { width: 18px; height: 18px; }
.image-lightbox-nav:hover { background: rgb(var(--elevated)); }
.image-lightbox-nav[hidden] { display: none; }
.image-lightbox-nav[data-image-lightbox-prev] { left: 0.75rem; }
.image-lightbox-nav[data-image-lightbox-next] { right: 0.75rem; }
.image-lightbox-scroller {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior: contain;
  touch-action: pan-x;
  scrollbar-width: thin;
}
.image-lightbox-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 4rem 3.5rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  box-sizing: border-box;
  overflow: hidden;
}
.image-lightbox-slide img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(100dvh - 5.25rem);
  min-width: 0;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  border-radius: 12px;
}
@media (max-width: 768px) {
  .image-lightbox-slide { padding: 4rem 1rem 1rem; }
  .image-lightbox-slide img { max-height: calc(100dvh - 5rem); }
  .image-lightbox-nav {
    width: 2.15rem;
    height: 2.15rem;
  }
  .image-lightbox-nav[data-image-lightbox-prev] { left: 0.4rem; }
  .image-lightbox-nav[data-image-lightbox-next] { right: 0.4rem; }
}
@media (max-width: 1100px) {
  .image-library[data-view="grid"] .image-library-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .image-library[data-view="grid"] .image-library-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .image-library[data-view="grid"] .image-library-items {
    grid-template-columns: 1fr;
  }
}
.attached-image { margin: 0; }
.attached-image img {
  width: 100%;
  max-width: 22rem;
  max-height: 16rem;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}
.source-callout {
  margin: 0;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: rgb(var(--accent) / 0.1);
  border: 1px solid rgb(var(--accent) / 0.22);
}

.start-card.stack { gap: 0.75rem; }
.start-card form {
  display: grid;
  gap: 1rem;
}
.start-card > h2,
.start-card h3 { margin: 0; }
.start-card > h2,
.start-card > .start-help { text-align: center; }
.start-help {
  margin: 0;
  color: rgb(var(--muted));
  font-size: 9px;
  line-height: 1.45;
}
.start-modes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem;
}
.start-modes label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0.35rem 0.75rem;
  border: 1px solid rgb(var(--border));
  border-radius: 999px;
  background: rgb(var(--elevated) / 0.35);
  font-weight: 500;
  cursor: pointer;
}
.start-modes label:has(input:checked) {
  border-color: rgb(var(--brand) / 0.55);
  background: rgb(var(--brand) / 0.12);
}
.start-modes input {
  width: auto;
  min-height: 0;
  margin: 0;
}
.start-drop {
  position: relative;
  display: none;
  justify-items: center;
  align-content: center;
  gap: 0.55rem;
  height: 180px;
  min-height: 180px;
  padding: 1.6rem 2.4rem 1.25rem;
  border: 1px dashed rgb(var(--border));
  border-radius: 12px;
  background: rgb(var(--elevated) / 0.35);
  text-align: center;
}
.start-card:has([data-start-mode][value="upload"]:checked) [data-start-panel="upload"],
.start-card:has([data-start-mode][value="article"]:checked) [data-start-panel="article"],
.start-card:has([data-start-mode][value="transcript"]:checked) [data-start-panel="transcript"] {
  display: grid;
}
.start-drop[data-start-panel="article"],
.start-drop[data-start-panel="transcript"] {
  align-content: stretch;
  justify-items: stretch;
  grid-template-rows: minmax(0, 1fr);
}
.start-drop.is-dragover {
  border-color: rgb(var(--accent) / 0.7);
  background: rgb(var(--accent) / 0.08);
}
.start-drop-title { margin: 0; font-weight: 600; }
.start-drop-or,
.start-drop-limit {
  margin: 0;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
}
.start-clear {
  position: absolute;
  top: 0.45rem;
  right: 0.65rem;
  border: 0;
  background: transparent;
  color: rgb(var(--muted));
  font-size: 21px;
  line-height: 1;
  cursor: pointer;
  padding: 0.1rem 0.35rem;
}
.start-clear:hover { color: rgb(var(--fg)); }
.start-select { cursor: pointer; }
.start-file {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.start-paste {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  gap: 0;
}
.start-drop textarea {
  width: 100%;
  height: 100%;
  min-height: 0;
  flex: 1;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
  resize: none;
  overflow: auto;
}
.start-drop textarea:hover,
.start-drop textarea:focus {
  border: 0;
  box-shadow: none;
}
.start-card .row-actions { margin: 0; justify-content: center; }

.recommended-stories.stack { gap: 0.5rem; }
.recommended-stories > h2 { margin: 0; }
.story-column {
  min-width: 0;
  display: grid;
  gap: 0.45rem;
}
.story-column.is-refreshing [data-feed-updating] { display: block !important; }
.story-column > p { margin: 0; }
.story-column-error {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
}
.story-column-error a {
  color: inherit;
  font-weight: 600;
}
.story-accordion {
  min-width: 0;
  border: 1px solid rgb(var(--border));
  border-radius: 12px;
  background: rgb(var(--elevated) / 0.45);
  padding: 0;
}
.story-accordion > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.8rem;
  cursor: pointer;
  list-style: none;
}
.story-accordion > summary::-webkit-details-marker,
.story-accordion > summary::marker { display: none; content: none; }
.story-accordion-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}
.story-accordion > summary::after {
  content: "";
  width: 16px;
  height: 16px;
  background-color: rgb(var(--muted));
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
  opacity: 0.85;
  pointer-events: none;
  transition: transform 0.2s ease, background-color 0.2s ease;
}
.story-accordion > summary:hover::after { background-color: rgb(var(--fg)); }
.story-accordion[open] > summary::after { transform: rotate(180deg); }
.story-accordion-body {
  display: grid;
  gap: 0.45rem;
  padding: 0.7rem 0.8rem 0.8rem;
  border-top: 1px solid rgb(var(--border));
}
.story-accordion-body p { margin: 0; }
.story-source-meta {
  color: rgb(var(--muted));
  font-size: var(--font-muted);
}
.studio {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: stretch;
  margin: 1.25rem 0;
}
.card.stack.feed-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  align-items: stretch;
  gap: 0.65rem;
}
.feed-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.85rem;
}
.feed-card-head h2,
.feed-card-head p { margin: 0; }
.feed-card-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0.5rem;
  flex-shrink: 0;
}
.feed-card.is-refreshing [data-feed-updating] { display: block !important; }
.feed-card-error {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
}
.feed-card-error a {
  color: inherit;
  font-weight: 600;
}
.feed-select-all {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-weight: 500;
}
.feed-select-all input,
.feed-list input {
  width: 1.05rem;
  height: 1.05rem;
  min-height: 0;
  padding: 0;
  margin: 0.15rem 0 0;
  flex-shrink: 0;
  accent-color: rgb(var(--brand));
}
.feed-card form.stack[data-feed-use] {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  align-items: stretch;
  gap: 0.35rem;
  min-height: 0;
}
.feed-list { list-style: none; margin: 0; padding: 0; }
.feed-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  border-bottom: 1px solid rgb(var(--border));
}
.feed-list li:last-child { border-bottom: 0; }
.feed-list label {
  display: flex;
  align-items: flex-start;
  flex: 1;
  min-width: 0;
  gap: 0.7rem;
  padding: 0.7rem 0;
  font-weight: 400;
  cursor: pointer;
}
.feed-list label > span { display: grid; gap: 0.15rem; min-width: 0; }
.feed-list strong { font-weight: 600; }
.feed-list .feed-title {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.feed-list label > span > span { color: rgb(var(--muted)); font-size: var(--font-muted); }
.feed-list .feed-preview {
  flex-shrink: 0;
  margin-top: 0.55rem;
  text-decoration: none;
}
.feed-others h3 { margin: 0; }
.feed-source-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.55rem;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
}
.feed-others {
  width: 100%;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 0.45rem;
  min-height: 0;
}
.feed-others h3 { font-size: 13px; }
.feed-list-tools {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.35rem 0.85rem;
  width: 100%;
}
.feed-selected-count {
  margin: 0;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
}
.feed-card [data-feed-write] {
  margin-top: auto;
  align-self: flex-start;
}
.social-create { display: grid; gap: 1.25rem; }
.social-create-stack { display: grid; gap: 0.85rem; }
.social-create-stack > .card { min-width: 0; }
.social-accordion { padding: 0; }
.social-accordion > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  column-gap: 0.85rem;
  row-gap: 0.2rem;
  align-items: center;
  padding: 0.95rem 1.1rem;
  cursor: pointer;
  list-style: none;
}
.social-accordion > summary::-webkit-details-marker,
.social-accordion > summary::marker { display: none; content: none; }
.social-accordion > summary span:first-child {
  grid-column: 1;
  font-weight: 650;
}
.social-accordion-summary {
  grid-column: 1;
  color: rgb(var(--muted));
  font-size: var(--font-muted, 12px);
  font-weight: 400;
}
.social-accordion > summary::after {
  content: "";
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 16px;
  height: 16px;
  align-self: center;
  background-color: rgb(var(--muted));
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
  opacity: 0.85;
  pointer-events: none;
  transition: transform 0.2s ease, background-color 0.2s ease;
}
.social-accordion > summary:hover::after {
  background-color: rgb(var(--fg));
}
.social-accordion[open] > summary::after {
  transform: rotate(180deg);
}
.social-accordion-body {
  padding: 0 1.1rem 1.1rem;
  border-top: 1px solid rgb(var(--border));
  padding-top: 1rem;
}
.social-create fieldset { margin: 0; }
.social-create-actions { display: grid; gap: 0.65rem; }
.social-create-actions .btn { width: 100%; }
.generated-warning {
  margin: 0;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  border: 1px solid rgb(var(--danger, 180 70 70) / 0.35);
  background: rgb(var(--danger, 180 70 70) / 0.08);
  color: rgb(var(--text));
  font-size: 12px;
}

.modal.generated-results-modal {
  width: min(72rem, calc(100vw - 2rem));
  max-width: min(72rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2.5rem);
}
.generated-results-modal[open] {
  display: flex;
  flex-direction: column;
}
.generated-results-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: calc(100vh - 2.5rem);
  overflow: hidden;
}
.generated-results-panel .generated-content-head {
  flex: none;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid rgb(var(--border));
}
.generated-results-body {
  display: grid;
  gap: 1rem;
  min-height: 0;
  flex: 1;
  overflow: auto;
  padding: 1.15rem 1.2rem 1.35rem;
}
.generated-results-body .flash { margin-bottom: 0; }
@media (max-width: 768px) {
  .modal.generated-results-modal {
    width: calc(100vw - 1rem);
    max-width: calc(100vw - 1rem);
    max-height: calc(100dvh - 1rem);
  }
  .generated-results-panel {
    max-height: calc(100dvh - 1rem);
  }
}
.generated-content-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.generated-content-head h2 {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 17px;
}
.generated-content-actions,
.generated-post-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}
.generated-content-actions .btn,
.generated-post-actions .btn {
  min-height: 36px;
  padding: 0.4rem 0.75rem;
  font-size: 13px;
}
.generated-icon {
  width: 16px;
  height: 16px;
  flex: none;
}
.generated-posts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.generated-post {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
  padding: 1.1rem 1.15rem;
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius);
  background: rgb(var(--surface));
  box-shadow: var(--shadow-soft);
}
.generated-post-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}
.generated-post-title {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: rgb(var(--accent));
}
.generated-angle {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  border: 1px solid rgb(var(--border));
  background: rgb(var(--elevated));
  color: rgb(var(--muted));
  font-size: 11px;
}
.generated-post-actions form { margin: 0; }
.generated-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.generated-badge {
  display: inline-flex;
  max-width: 100%;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgb(var(--border));
  background: rgb(var(--elevated) / 0.45);
  color: rgb(var(--muted));
  font-size: 11px;
  line-height: 1.35;
}
.generated-field { display: grid; gap: 0.35rem; min-width: 0; }
.generated-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(var(--muted));
}
.generated-box,
.generated-package {
  min-width: 0;
  padding: 0.7rem 0.8rem;
  border: 1px solid rgb(var(--border));
  border-radius: 10px;
  background: rgb(var(--elevated) / 0.4);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.generated-package {
  border-style: dashed;
  background: transparent;
}
.generated-hashtags { display: flex; flex-wrap: wrap; gap: 0.35rem 0.55rem; }
.generated-tag { color: rgb(var(--accent)); font-weight: 500; }
.generated-url {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: stretch;
}
.generated-url input {
  flex: 1 1 12rem;
  min-width: 0;
  margin: 0;
}
.angle-list { display: grid; gap: 0.65rem; }
.angle-list[hidden] { display: none; }
.angle-item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid rgb(var(--border));
  border-radius: 12px;
  background: rgb(var(--elevated) / 0.35);
  cursor: pointer;
  font-weight: 400;
}
.angle-item:has(input:checked) {
  border-color: rgb(var(--brand) / 0.55);
  background: rgb(var(--brand) / 0.12);
}
.angle-item input { width: auto; min-height: 0; margin-top: 0.2rem; }
.angle-copy { display: grid; gap: 0.15rem; }
.angle-copy strong { font-weight: 600; color: rgb(var(--fg)); }
.angle-copy span { font-size: var(--font-muted); color: rgb(var(--muted)); font-weight: 400; }
.wave {
  display: flex;
  align-items: flex-end;
  gap: 5px;
  height: 92px;
  margin: 1.1rem 0 0.4rem;
  overflow: hidden;
}
.wave i {
  display: block;
  flex: 1;
  border-radius: 999px 999px 4px 4px;
  transform-origin: center bottom;
  background: linear-gradient(180deg, rgb(var(--tint)), rgb(var(--brand)));
  box-shadow: 0 0 12px rgb(var(--brand) / 0.35);
  animation: wave 1.6s ease-in-out infinite;
  animation-delay: var(--d, 0s);
}
@keyframes wave {
  0%, 100% { transform: scaleY(0.45); opacity: 0.7; }
  50% { transform: scaleY(1); opacity: 1; }
}

.auth-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1.5rem;
}
.auth-card {
  width: min(420px, calc(100% - 2rem));
  position: relative;
  z-index: 1;
}
.brand-auth {
  height: auto;
  min-height: 0;
  margin: 0 0 1.5rem;
  padding: 0.55rem 0 0;
  border-bottom: 0;
  color: rgb(var(--fg));
  flex-direction: column;
  text-align: center;
  gap: 0.85rem;
  overflow: visible;
}
.brand-auth .brand-mark {
  width: auto;
  height: auto;
  filter: drop-shadow(0 0 18px rgb(var(--brand) / 0.4));
}
.brand-auth small { letter-spacing: 0.14em; }
.auth-card h1 { text-align: center; }
.auth-card .lede { text-align: center; }
.auth-card .btn { width: 100%; }
.auth-links {
  text-align: center;
  margin-top: 1.1rem;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
}
.public-shell {
  width: min(980px, calc(100% - 2rem));
  position: relative;
  z-index: 1;
}
.public-shell .brand-auth { margin-bottom: 1.2rem; }
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 0.5rem;
}
.plan-card {
  background: rgb(var(--surface) / 0.82);
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius);
  padding: 1.2rem 1.15rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  box-shadow: var(--shadow-soft);
}
.plan-card.is-featured {
  box-shadow: var(--glow-brand);
  border-color: rgb(var(--brand) / 0.45);
}
.plan-card ul { margin: 0; padding: 0 0 0 1.1rem; color: rgb(var(--muted)); font-size: var(--font-muted); }
.plan-card .btn { width: 100%; margin-top: auto; }
.quota-line { display: flex; flex-direction: column; gap: 0.35rem; margin: 0.35rem 0 0; }
.quota-bar {
  display: block;
  height: 6px;
  border-radius: 999px;
  background: rgb(var(--border));
  overflow: hidden;
}
.quota-bar i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, rgb(var(--brand)), rgb(var(--accent)));
}
.plan-chip {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(var(--tint));
  border: 1px solid rgb(var(--brand) / 0.35);
  border-radius: 999px;
  padding: 0.08rem 0.45rem;
}

body.is-busy .btn[type="submit"] { pointer-events: none; }
body.is-busy::after {
  content: "Working — this can take a minute…";
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  background: rgb(var(--elevated));
  color: rgb(var(--fg));
  border: 1px solid rgb(var(--border));
  padding: 0.7rem 1rem;
  border-radius: 999px;
  box-shadow: var(--glow-brand);
  z-index: 50;
}

.research-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0;
  margin-bottom: 0.4rem;
}
.card + .research-progress,
.banner + .research-progress,
.card + .flash,
.banner + .flash {
  margin-top: 1.5rem;
}
.flash + .research-progress {
  margin-top: 1.25rem;
}
.research-progress-help {
  margin: 0 0 1.25rem;
  font-size: var(--font-muted);
}
.research-progress button {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  background: rgb(var(--surface) / 0.82);
  color: rgb(var(--muted));
  border: 1px solid rgb(var(--border));
  border-radius: 10px;
  padding: 0.75rem 1rem;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
}
.research-progress button span {
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgb(var(--elevated));
  color: rgb(var(--fg));
  font-size: 11px;
  font-weight: 600;
  flex-shrink: 0;
}
.research-progress button.is-current {
  color: rgb(var(--fg));
  border-color: rgb(var(--brand) / 0.5);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.16);
}
.research-progress button.is-done span,
.research-progress button.is-current span {
  background: rgb(var(--brand));
  color: rgb(var(--brand-fg));
}
[data-research-app] {
  padding: 1.75rem 1.85rem 2.15rem;
}
.research-step {
  display: grid;
  gap: var(--field-gap);
}
.research-step > h2 {
  margin: 0;
  padding-right: 0.25rem;
}
.research-step > p,
.research-step > .muted {
  margin: 0;
  max-width: 52rem;
}
.research-step > .row-actions:last-child {
  padding-top: 0.55rem;
}
.research-topic-row {
  grid-template-columns: minmax(0, 1.7fr) minmax(11rem, 0.75fr);
}
.research-filters {
  grid-template-columns: minmax(9rem, 0.9fr) minmax(12rem, 1.15fr) 8.5rem;
}
.research-step label > span:first-of-type {
  display: inline-flex;
  align-items: baseline;
  gap: 0.28rem;
  line-height: 1.3;
}
.research-mode { padding: 1.05rem 1.1rem 1.15rem; }
.research-mode legend { font-size: 13px; }
.research-mode-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}
.research-mode-options label {
  display: grid;
  gap: 0.2rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  background: rgb(var(--elevated) / 0.4);
  cursor: pointer;
}
.research-mode-options label.is-selected {
  border-color: rgb(var(--brand) / 0.6);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.16);
}
.research-mode-options small { color: rgb(var(--muted)); font-weight: 400; }
.research-mode-options input { width: auto; min-height: 0; margin-bottom: 0.15rem; }
.req {
  color: rgb(var(--danger));
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}
.outlet-list { list-style: none; margin: 0; padding: 0; }
.outlet-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: start;
  padding: 0.85rem 0.15rem;
  border-bottom: 1px solid rgb(var(--border));
}
.outlet-list strong { display: block; }
.outlet-list small, .outlet-list .muted { display: block; color: rgb(var(--muted)); font-size: var(--font-muted); }
.outlet-list a {
  color: rgb(var(--accent));
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
.outlet-list a:hover { color: rgb(var(--tint)); }
.outlet-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.35rem;
}
.outlet-add-actions { align-self: end; padding-bottom: 0.15rem; }
.visit-link {
  color: rgb(var(--accent));
  text-decoration: underline;
  text-underline-offset: 0.14em;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
.visit-link:hover { color: rgb(var(--tint)); }
.source-cell { display: flex; flex-direction: column; gap: 0.2rem; min-width: 14rem; }
.source-title {
  display: block;
  font-weight: 600;
  line-height: 1.35;
  color: rgb(var(--accent));
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
.source-title:hover { color: rgb(var(--tint)); }
.source-snippet {
  margin: 0;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
  line-height: 1.4;
}
.project-picker {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 1rem 1.1rem 1.15rem;
  border: 1px solid rgb(var(--brand) / 0.35);
  border-radius: 14px;
  background: rgb(var(--brand) / 0.08);
  align-items: stretch;
}
.project-picker legend {
  font-size: 13px;
  font-weight: 600;
  padding: 0 0.35rem;
}
.project-choice {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.55rem;
  font-weight: 500;
}
.project-choice input {
  width: auto;
  min-height: 0;
  margin: 0;
}
.project-hub { display: grid; gap: 1.25rem; }
.source-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: start;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgb(var(--border));
}
.source-list li:last-child { border-bottom: 0; }
.research-results-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.research-results-head h2 { margin: 0; }
.table-wrap { overflow-x: auto; }
.research-table { font-size: 13px; }
.research-table td, .research-table th { vertical-align: top; padding: 0.55rem 0.7rem; }
.research-table a {
  color: rgb(var(--accent));
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
.research-table a:hover { color: rgb(var(--tint)); }
.research-table small { display: block; margin-top: 0.25rem; }
.score-cell { font-variant-numeric: tabular-nums; font-weight: 600; }
.rating-excellent { color: rgb(var(--success)); }
.rating-good { color: rgb(var(--accent)); }
.rating-fair { color: rgb(var(--warning)); }

.voice-logo-preview {
  display: block;
  max-width: 8rem;
  max-height: 4.5rem;
  object-fit: contain;
  margin: 0.4rem 0 0.65rem;
  background: rgb(var(--panel-2));
  border: 1px solid rgb(var(--border));
  border-radius: 8px;
  padding: 0.35rem;
}
.ig-field,
.ig-field-stack {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}
.ig-field-stack { gap: var(--field-gap); }
.ig-field > .muted,
.ig-field > .ig-inline-links { margin: 0; }
.ig-field-stack > h3 { margin: 0; }
.ig-inline-links {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: calc(0.92rem - 1px);
}
.ig-radio-row {
  display: flex;
  gap: 1.1rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}
.ig-prompt-actions { display: grid; gap: 0.45rem; }
.ig-reference-preview img {
  max-width: 10rem;
  max-height: 7rem;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}
.ig-preview-panel {
  display: grid;
  align-content: start;
  gap: 1rem;
}
.ig-preview-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
}
.ig-preview-header h2,
.ig-preview-panel > .muted { margin: 0; }
.ig-preview-actions {
  display: grid;
  gap: 1rem;
}
.ig-preview-actions > .btn { width: 100%; }
.ig-preview-actions .btn {
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.2);
}
.ig-preview-actions .btn:hover {
  box-shadow: 0 2px 10px -2px rgb(var(--brand) / 0.45);
}
.ig-preview-actions .btn-outline,
.ig-preview-actions .btn-ghost { box-shadow: none; }
#ig-result-actions:not([hidden]) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
}
#ig-result-actions .btn { width: 100%; }
.ig-preview-stage {
  min-height: 16rem;
  display: grid;
  place-items: center;
  background: rgb(var(--panel-2));
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  overflow: hidden;
  padding: 0.9rem;
}
.ig-preview-empty, .ig-preview-loading { text-align: center; color: rgb(var(--muted)); font-size: var(--font-muted); }
.ig-type-preview, .ig-preview-result { width: 100%; }
.ig-type-preview-frame, .ig-preview-frame {
  position: relative;
  width: min(100%, 28rem);
  margin: 0 auto;
}
.ig-type-preview-canvas, .ig-preview-frame {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #1a1a1a;
}
.ig-type-preview-canvas { width: 100%; }
.ig-type-preview-photo {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, #3a3a3a 25%, transparent 25%) -12px 0 / 24px 24px,
    linear-gradient(225deg, #3a3a3a 25%, transparent 25%) -12px 0 / 24px 24px,
    linear-gradient(45deg, #3a3a3a 25%, transparent 25%) 0 0 / 24px 24px,
    linear-gradient(315deg, #3a3a3a 25%, #2a2a2a 25%) 0 0 / 24px 24px;
}
.ig-type-preview-overlay, .ig-type-preview-logo, .ig-type-preview-safe, .ig-type-preview-text {
  position: absolute;
  pointer-events: none;
}
.ig-type-preview-overlay { inset: 0; }
.ig-type-preview-logo { z-index: 3; }
.ig-type-preview-safe {
  border: 1px dashed transparent;
  z-index: 2;
}
.ig-type-preview-safe.is-visible { border-color: rgb(255 255 255 / 0.55); }
.ig-type-preview-safe span, .ig-safe-zone span {
  position: absolute;
  top: 0.25rem;
  left: 0.35rem;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgb(255 255 255 / 0.78);
}
.ig-type-preview-text { z-index: 4; }
.ig-type-preview-headline { font-weight: 900; }
.ig-type-preview-subtitle { margin-top: 0.15em; opacity: 0.92; }
.ig-preview-frame img { display: block; width: 100%; height: auto; }
.ig-safe-zone {
  position: absolute;
  border: 1px dashed rgb(255 255 255 / 0.6);
  pointer-events: none;
}
.ig-save-panel { margin-top: 0; }
.ig-template-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.ig-template-thumb {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #222;
  aspect-ratio: 1 / var(--ig-tpl-ratio, 0.7);
  margin-bottom: 0.75rem;
}
.ig-template-thumb-overlay {
  position: absolute;
  inset: 0;
}
.ig-template-thumb-overlay-band {
  inset: auto 0 0 0;
}
.ig-template-thumb-logo {
  position: absolute;
  width: 18%;
  top: 6%;
  right: 6%;
}
.ig-template-thumb-logo.ig-logo-top_left { left: 6%; right: auto; }
.ig-template-thumb-logo.ig-logo-top_centre { left: 50%; right: auto; transform: translateX(-50%); }
.ig-template-thumb-logo.ig-logo-bottom_left { top: auto; bottom: 6%; left: 6%; right: auto; }
.ig-template-thumb-logo.ig-logo-bottom_centre { top: auto; bottom: 6%; left: 50%; right: auto; transform: translateX(-50%); }
.ig-template-thumb-logo.ig-logo-bottom_right { top: auto; bottom: 6%; }
.ig-template-thumb-headline {
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 10%;
  color: #fff;
  font-weight: 800;
  font-size: calc(0.95rem - 1px);
  text-shadow: 0 1px 8px rgb(0 0 0 / 0.45);
}
.ig-template-thumb-headline.ig-pos-top { top: 10%; bottom: auto; }
.ig-template-thumb-headline.ig-pos-centre { top: 50%; bottom: auto; transform: translateY(-50%); }
.ig-template-thumb-headline.ig-align-left { text-align: left; }
.ig-template-thumb-headline.ig-align-centre { text-align: center; }
.ig-template-thumb-headline.ig-align-right { text-align: right; }
.ig-tpl-canvas { cursor: crosshair; }
.ig-picker-item {
  border: 0;
  padding: 0;
  background: none;
  cursor: pointer;
}
.ig-picker-item img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 10px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.planner-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 1rem;
}
.planner-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  flex: 1;
}
.planner-filters select,
.planner-filters input[type="search"] {
  min-height: 2.5rem;
  max-width: 16rem;
}
.planner-view-toggle,
.planner-cal-nav {
  display: flex;
  gap: 0.45rem;
  align-items: center;
}
.planner-cal-nav {
  justify-content: center;
  margin: 0 0 1rem;
}
.planner-empty-accounts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.2rem;
  align-items: center;
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius-sm);
  background: rgb(var(--elevated) / 0.35);
}
.planner-empty-accounts p { margin: 0; color: rgb(var(--muted)); font-size: var(--font-muted); }
.planner-empty-accounts strong { flex: 1 1 12rem; }
.planner-table-card { padding: 0; overflow: hidden; }
.planner-table-card .table { margin: 0; }
.planner-thumb {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}
.planner-status {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  background: rgb(var(--elevated));
  color: rgb(var(--muted));
}
.planner-status--draft { color: rgb(var(--muted)); }
.planner-status--scheduled { color: rgb(var(--accent)); background: rgb(var(--accent) / 0.12); }
.planner-status--published { color: rgb(var(--success)); background: rgb(var(--success) / 0.12); }
.planner-pills { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.planner-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  background: rgb(var(--elevated));
  border: 1px solid rgb(var(--border));
}
.planner-pill--facebook { color: #8ab4ff; }
.planner-pill--instagram { color: #f0a6d8; }
.planner-pill--linkedin { color: #7ec8e3; }
.planner-pill--twitter { color: rgb(var(--fg)); }
.planner-badge-soft {
  font-size: 10px;
  color: rgb(var(--muted));
  background: rgb(var(--elevated));
  border-radius: 999px;
  padding: 0.1rem 0.45rem;
}
.planner-actions { position: relative; }
.planner-actions summary {
  list-style: none;
  cursor: pointer;
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid rgb(var(--border));
  background: rgb(var(--elevated) / 0.5);
}
.planner-actions summary::-webkit-details-marker { display: none; }
.planner-actions-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 0.3rem);
  z-index: 5;
  min-width: 10rem;
  padding: 0.35rem;
  border-radius: 10px;
  border: 1px solid rgb(var(--border));
  background: rgb(var(--surface));
  box-shadow: var(--shadow-soft);
  display: grid;
}
.planner-actions-menu a,
.planner-actions-menu button {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  padding: 0.4rem 0.55rem;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
}
.planner-actions-menu a:hover,
.planner-actions-menu button:hover { background: rgb(var(--elevated)); }
.planner-actions-menu .planner-danger { color: rgb(var(--danger)); }
.planner-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 0.85rem;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
}
.planner-tz-note { color: rgb(var(--muted)); font-size: var(--font-muted); margin-top: 0.85rem; }
.planner-calendar { padding: 1rem; }
.planner-cal-head,
.planner-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.45rem;
}
.planner-cal-head {
  margin-bottom: 0.45rem;
  color: rgb(var(--muted));
  font-size: 11px;
  font-weight: 600;
  text-align: center;
}
.planner-cal-cell {
  min-height: 7.5rem;
  padding: 0.45rem;
  border: 1px solid rgb(var(--border));
  border-radius: 10px;
  background: rgb(var(--elevated) / 0.25);
}
.planner-cal-cell.is-empty { background: transparent; border-color: transparent; }
.planner-cal-daynum { font-size: 11px; font-weight: 600; margin-bottom: 0.35rem; }
.planner-cal-item {
  display: block;
  font-size: 10px;
  line-height: 1.3;
  padding: 0.2rem 0.35rem;
  margin-bottom: 0.25rem;
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  background: rgb(var(--surface));
  border-left: 3px solid rgb(var(--muted));
}
.planner-cal-item.planner-status--scheduled { border-left-color: rgb(var(--accent)); }
.planner-cal-item.planner-status--published { border-left-color: rgb(var(--success)); }
.planner-cal-more { font-size: 10px; color: rgb(var(--muted)); }
.planner-edit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem);
  gap: 1.15rem;
  align-items: start;
}
.planner-edit-main,
.planner-edit-side { display: grid; gap: 1rem; }
.planner-composer { position: relative; }
.planner-toolbar-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  position: relative;
  margin-bottom: 0.55rem;
}
.planner-tb {
  width: 2.1rem;
  height: 2.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(var(--border));
  border-radius: 8px;
  background: rgb(var(--elevated) / 0.5);
  color: inherit;
  cursor: pointer;
}
.planner-tb.is-open,
.planner-tb:hover { border-color: rgb(var(--accent) / 0.5); background: rgb(var(--elevated)); }
.planner-tb-letter { font-weight: 700; }
.planner-tb-italic { font-style: italic; }
.planner-tb-sep { width: 1px; background: rgb(var(--border)); margin: 0.2rem 0.15rem; }
.planner-tb-panel {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  z-index: 6;
  min-width: 16rem;
  padding: 0.7rem;
  border-radius: 12px;
  border: 1px solid rgb(var(--border));
  background: rgb(var(--surface));
  box-shadow: var(--shadow-soft);
}
.planner-emoji-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  max-width: 18rem;
}
.planner-emoji-picker button {
  width: 2rem;
  height: 2rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  border-radius: 6px;
}
.planner-emoji-picker button:hover { background: rgb(var(--elevated)); }
.planner-composer textarea {
  width: 100%;
  min-height: 12rem;
  resize: vertical;
}
.planner-image-preview {
  min-height: 10rem;
  border: 1px dashed rgb(var(--border));
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: rgb(var(--elevated) / 0.25);
  margin-bottom: 0.75rem;
}
.planner-image-preview img { width: 100%; max-height: 18rem; object-fit: cover; display: block; }
.planner-image-dialog { width: min(40rem, 92vw); }
.planner-image-dialog-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
.planner-image-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  max-height: 24rem;
  overflow: auto;
}
.planner-image-choice {
  padding: 0;
  border: 1px solid rgb(var(--border));
  border-radius: 10px;
  overflow: hidden;
  background: none;
  cursor: pointer;
}
.planner-image-choice img { width: 100%; height: 5.5rem; object-fit: cover; display: block; }
.planner-account-list { display: grid; gap: 0.55rem; }
.planner-account-option {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgb(var(--border));
  border-radius: 10px;
}
.planner-account-option input { width: auto; min-height: 0; }
.planner-preview {
  border: 1px solid rgb(var(--border));
  border-radius: 12px;
  overflow: hidden;
  background: rgb(var(--elevated) / 0.3);
}
.planner-preview-meta {
  padding: 0.7rem 0.85rem 0.45rem;
  font-weight: 600;
  font-size: 12px;
}
.planner-preview-image:empty { display: none; }
.planner-preview-image img { width: 100%; max-height: 16rem; object-fit: cover; display: block; }
.planner-preview-caption {
  padding: 0.75rem 0.85rem 1rem;
  white-space: pre-wrap;
  word-break: break-word;
  min-height: 3rem;
}
.planner-edit-actions { display: grid; gap: 0.5rem; }
.planner-edit-actions .btn { width: 100%; }
.planner-dialog {
  border: 1px solid rgb(var(--border));
  border-radius: 16px;
  background: rgb(var(--surface));
  color: inherit;
  padding: 1.2rem;
  width: min(26rem, 92vw);
}
.planner-dialog::backdrop { background: rgb(0 0 0 / 0.55); }
.planner-dialog h2 { margin-top: 0; }
.planner-account-rows li {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}
.planner-account-add { margin-top: 1rem; }

@media (max-width: 1100px) {
  .actions, .pipeline { grid-template-columns: 1fr 1fr; }
  .studio, .generated-posts { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr; }
  .ig-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planner-image-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .grid-2, .grid-3, .article-edit, .planner-edit, .risk-review-bar, .voice-grid { grid-template-columns: 1fr; }
  .card-list .card { flex-direction: column; align-items: stretch; }
  [data-research-app] .grid-2,
  .research-topic-row {
    grid-template-columns: minmax(0, 1.5fr) minmax(10rem, 0.85fr);
  }
  .research-filters {
    grid-template-columns: 1fr 1fr minmax(7rem, 8.5rem);
  }
  .research-mode-options { grid-template-columns: 1fr 1fr; }
  .research-mode-options label:last-child { grid-column: 1 / -1; }
  .article-source-modes { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .ig-template-grid { grid-template-columns: 1fr; }
  .planner-image-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planner-cal-cell { min-height: 5.5rem; }
  .app {
    grid-template-columns: 1fr;
    height: auto;
    overflow: visible;
  }
  .workspace {
    display: flex;
    flex-direction: column;
    height: auto;
    overflow: visible;
    min-height: 100vh;
  }
  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(280px, 88vw);
    height: 100vh;
    z-index: 40;
    transform: translateX(-110%);
    transition: transform 0.25s ease;
  }
  .sidebar.is-open { transform: translateX(0); }
  .topbar {
    justify-content: space-between;
    align-self: stretch;
    width: 100%;
    padding: 0 clamp(1.1rem, 2.4vw, 2.4rem);
  }
  .main { overflow: visible; padding: 1.5rem clamp(1.1rem, 2.4vw, 2.4rem) 3.5rem; }
  .nav-toggle, .nav-backdrop.is-visible { display: block; }
  .page-head > .btn,
  .page-head > .row-actions { flex-shrink: 0; }
  [data-research-app] { padding: 1.4rem 1.3rem 1.7rem; }
  .research-progress { grid-template-columns: 1fr 1fr; }
  .research-mode-options { grid-template-columns: 1fr; }
  .research-mode-options label:last-child { grid-column: auto; }
  .research-results-head { flex-direction: column; }
}
.wizard-progress {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0 0 1.25rem;
}
.wizard-progress button {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  background: rgb(var(--surface) / 0.82);
  color: rgb(var(--muted));
  border: 1px solid rgb(var(--border));
  border-radius: 10px;
  padding: 0.62rem 0.55rem;
  font: inherit;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
}
.wizard-progress button span {
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgb(var(--elevated));
  color: rgb(var(--fg));
  font-size: 11px;
  font-weight: 600;
  flex-shrink: 0;
}
.wizard-progress button.is-current {
  color: rgb(var(--fg));
  border-color: rgb(var(--brand) / 0.5);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.16);
}
.wizard-progress button.is-done span,
.wizard-progress button.is-current span {
  background: rgb(var(--brand));
  color: rgb(var(--brand-fg));
}
.wizard-progress button:disabled {
  cursor: default;
  opacity: 0.55;
}
.profile-progress { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.choice-multi { display: grid; gap: var(--label-gap); min-width: 0; }
.choice-multi-label { font-size: 13px; font-weight: 500; color: rgb(var(--fg) / 0.9); }
.choice-multi-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  min-height: 2.75rem;
  padding: 0.35rem 0.55rem;
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  background: rgb(var(--elevated) / 0.55);
}
.choice-multi-box:focus-within {
  border-color: rgb(var(--brand) / 0.5);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.22);
}
.choice-multi-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.choice-multi-toggle {
  border: 0;
  background: transparent;
  color: rgb(var(--muted));
  font: inherit;
  font-size: calc(0.9rem - 1px);
  min-height: 1.7rem;
  padding: 0 0.25rem;
  cursor: pointer;
}
.choice-multi-menu {
  margin: 0;
  padding: 0.35rem;
  list-style: none;
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  background: rgb(var(--surface));
  box-shadow: var(--shadow);
  max-height: 16rem;
  overflow: auto;
}
.choice-multi-menu [role="option"] {
  padding: 0.45rem 0.65rem;
  border-radius: 10px;
  cursor: pointer;
}
.choice-multi-menu [role="option"][aria-selected="true"] {
  background: rgb(var(--brand) / 0.18);
}
.choice-multi-menu [role="option"].is-active,
.choice-multi-menu [role="option"]:hover {
  background: rgb(var(--fg) / 0.08);
}
.choice-multi-menu [role="option"].is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.choice-multi-error {
  margin: 0;
  color: rgb(var(--danger));
  font-size: var(--font-muted);
}
.experience-row {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  background: rgb(var(--elevated) / 0.35);
}
.profile-review {
  display: grid;
  gap: 0.65rem;
}
.profile-review div {
  display: grid;
  gap: 0.15rem;
}
.profile-review dt { color: rgb(var(--muted)); font-size: var(--font-muted); }
.profile-review dd { margin: 0; }
[data-wizard-app],
[data-wizard-gate] {
  padding: 1.75rem 1.85rem 2.15rem;
}
.wizard-creator-modes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  border: 0;
}
.wizard-creator-modes legend {
  margin: 0 0 0.75rem;
  padding: 0;
  font-weight: 600;
}
.wizard-creator-modes label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.7rem;
  row-gap: 0.15rem;
  align-items: center;
  margin: 0;
  padding: 0.95rem 1rem;
  border: 1px solid rgb(var(--border));
  border-radius: 14px;
  background: rgb(var(--elevated) / 0.4);
  cursor: pointer;
}
.wizard-creator-modes label.is-selected {
  border-color: rgb(var(--brand) / 0.6);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.16);
}
.wizard-creator-modes strong { grid-column: 2; grid-row: 1; }
.wizard-creator-modes small { grid-column: 2; grid-row: 2; color: rgb(var(--muted)); font-weight: 400; }
.wizard-creator-modes input {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 1rem;
  height: 1rem;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  align-self: center;
}
.wizard-voice-picks { display: grid; gap: 0.85rem; }
.wizard-voice-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.wizard-voice-bar p { margin: 0; }
.wizard-step {
  display: grid;
  gap: var(--field-gap);
}
.wizard-step > h2 {
  margin: 0;
}
.wizard-step > p,
.wizard-step > .muted {
  margin: 0;
  max-width: 52rem;
}
.wizard-campaign {
  display: grid;
  gap: 0.75rem;
}
.wizard-campaign-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem 1rem;
  align-items: start;
}
.wizard-campaign-field {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}
.wizard-campaign-field > * {
  min-width: 0;
  max-width: 100%;
}
.wizard-campaign-field label {
  gap: 0.28rem;
}
.wizard-campaign-field .muted {
  margin: 0;
  line-height: 1.35;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.wizard-campaign-field textarea {
  min-height: 4rem;
  resize: vertical;
}
.wizard-brief-mode {
  border: 0;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.5rem;
}
.wizard-brief-mode legend {
  padding: 0;
  font-weight: 600;
}
.wizard-brief-mode .check input {
  width: 1rem;
  height: 1rem;
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}
.wizard-article h3,
.wizard-card h3 {
  margin: 0;
}
.wizard-article .rte-surface {
  min-height: 16rem;
  max-height: 28rem;
  overflow: auto;
}
.wizard-headline-options {
  border: 1px solid rgb(var(--border));
  border-radius: 12px;
  padding: 0.9rem 1rem 1rem;
  display: grid;
  gap: 0.65rem;
}
.wizard-headline-options legend {
  padding: 0 0.25rem;
}
.wizard-article-body {
  border: 1px solid rgb(var(--border));
  border-radius: 12px;
  padding: 0.75rem 1rem;
}
.wizard-prose {
  max-height: 22rem;
  overflow: auto;
}
.wizard-posts,
.wizard-images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}
.wizard-card {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  padding: 1rem 1.05rem;
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius);
  background: rgb(var(--surface));
}
.wizard-card header,
.wizard-card figcaption {
  display: flex;
  justify-content: space-between;
  gap: 0.4rem;
  align-items: baseline;
}
.wizard-thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 10px;
  background: rgb(var(--elevated));
}
.wizard-accounts {
  border: 1px solid rgb(var(--border));
  border-radius: 12px;
  padding: 0.9rem 1rem 1rem;
  display: grid;
  gap: 0.65rem;
}
.wizard-account {
  display: flex;
  gap: 0.55rem;
  align-items: center;
}
.wizard-review-layout {
  display: grid;
  grid-template-columns: minmax(16rem, 18rem) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  min-height: 22rem;
}
.wizard-review-list {
  display: grid;
  gap: 0.55rem;
  align-content: start;
  padding: 0.85rem;
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius);
  background: rgb(var(--elevated) / 0.35);
}
.wizard-review-list-head {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0 0 0.2rem;
  font-size: 11px;
  font-weight: 600;
  color: rgb(var(--muted));
}
.wizard-review-item {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
  width: 100%;
  margin: 0;
  padding: 0.7rem 0.75rem;
  border: 1px solid rgb(var(--border));
  border-radius: 12px;
  background: rgb(var(--surface));
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.wizard-review-item img {
  width: 2.6rem;
  height: 2.6rem;
  object-fit: cover;
  border-radius: 8px;
  background: rgb(var(--elevated));
}
.wizard-review-item-copy {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}
.wizard-review-item-copy strong {
  font-size: 12px;
}
.wizard-review-item-copy span {
  color: rgb(var(--muted));
  font-size: 11px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.wizard-review-item.is-selected {
  border-color: rgb(var(--brand) / 0.55);
  box-shadow: 0 0 0 3px rgb(var(--brand) / 0.16);
}
.wizard-review-editor {
  min-width: 0;
  padding: 1rem 1.05rem;
  border: 1px solid rgb(var(--border));
  border-radius: var(--radius);
  background: rgb(var(--surface));
}
.wizard-review-detail {
  display: grid;
  gap: 0.75rem;
}
.wizard-review-detail textarea {
  min-height: 14rem;
}
@media (max-width: 960px) {
  .wizard-progress { grid-template-columns: 1fr 1fr 1fr; }
  .wizard-creator-modes { grid-template-columns: 1fr; }
  .profile-progress { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .actions, .pipeline { grid-template-columns: 1fr; }
  .wizard-progress { grid-template-columns: 1fr 1fr; }
  .wizard-creator-modes { grid-template-columns: 1fr; }
  .profile-progress { grid-template-columns: 1fr; }
  .wizard-posts,
  .wizard-images { grid-template-columns: 1fr; }
  .wizard-campaign-grid { grid-template-columns: 1fr; }
  .wizard-review-layout { grid-template-columns: 1fr; }
  [data-wizard-app],
  [data-wizard-gate] { padding: 1.4rem 1.3rem 1.7rem; }
  .table { display: block; overflow-x: auto; }
  .main { padding-bottom: 5rem; }
  [data-research-app] .grid-2,
  [data-research-app] .grid-3,
  .research-topic-row,
  .research-filters {
    grid-template-columns: 1fr;
  }
  .guide-layout, .settings-hub, .library-filters { grid-template-columns: 1fr; }
}

.guide-progress {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.25rem;
  padding: 0;
  list-style: none;
}
.guide-progress li {
  padding: 0.35rem 0.7rem;
  border: 1px solid rgb(var(--border));
  border-radius: 999px;
  color: rgb(var(--muted));
  font-size: var(--font-muted);
}
.guide-progress li.is-current { color: rgb(var(--fg)); border-color: rgb(var(--brand) / 0.6); }
.guide-progress li.is-done { color: rgb(var(--fg)); }
.guide-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(16rem, 0.8fr); gap: 1rem; align-items: start; }
.settings-hub { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 0.85rem; }
.settings-hub .card { display: grid; gap: 0.35rem; text-decoration: none; color: inherit; }
.settings-hub .card span { color: rgb(var(--muted)); }
.library-filters { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: end; }
.library-filters label { min-width: 9rem; }
.library-actions { display: flex; flex-wrap: wrap; gap: 0.45rem 0.75rem; align-items: center; }
.library-actions form { display: inline-flex; gap: 0.35rem; align-items: center; }
.choice-line { display: flex; gap: 0.5rem; align-items: center; }
.source-cards, .source-card { display: grid; gap: 0.35rem; }
.source-card { padding: 0.85rem 0; border-top: 1px solid rgb(var(--border)); }
.brief-list { display: grid; gap: 0.55rem; margin: 0; }
.brief-list div { display: grid; grid-template-columns: 8rem 1fr; gap: 0.5rem; }
.brief-list dt { color: rgb(var(--muted)); }
.brief-list dd { margin: 0; }
.usage-quiet { margin-top: 1.5rem; }

.welcome-body { min-height: 100vh; margin: 0; }
.welcome { min-height: 100vh; display: grid; grid-template-columns: minmax(20rem, 26rem) minmax(0, 1fr); }
.welcome-brand {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 2.5rem;
  padding: 2.5rem 2rem;
  background:
    radial-gradient(420px 280px at 20% 0%, rgb(var(--brand) / 0.28), transparent 70%),
    rgb(var(--surface));
  border-right: 1px solid rgb(var(--border));
}
.welcome-mark { display: flex; gap: 0.9rem; align-items: center; }
.welcome-mark .brand-mark { width: 5.5rem; height: 5.5rem; flex: 0 0 5.5rem; }
.welcome-mark strong { display: block; }
.welcome-mark small, .welcome-save { display: block; color: rgb(var(--muted)); }
.welcome-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.85rem; }
.welcome-steps li { display: flex; gap: 0.7rem; align-items: center; color: rgb(var(--muted)); }
.welcome-steps button {
  display: flex; gap: 0.7rem; align-items: center; width: 100%;
  background: none; border: 0; padding: 0; color: inherit; font: inherit;
  text-align: left; cursor: pointer;
}
.welcome-steps li.is-done button:hover { color: rgb(var(--fg)); }
.welcome-steps li span {
  width: 1.6rem; height: 1.6rem; border-radius: 999px; display: grid; place-items: center;
  border: 1px solid rgb(var(--border)); font-size: calc(0.8rem - 1px);
}
.welcome-steps li.is-current { color: rgb(var(--fg)); }
.welcome-steps li.is-current span, .welcome-steps li.is-done span { border-color: rgb(var(--brand) / 0.7); color: rgb(var(--fg)); }
.welcome-main { display: grid; align-content: center; justify-items: center; padding: 2.5rem 1.5rem 4rem; }
.welcome-card { width: min(36rem, 100%); display: grid; gap: 0.9rem; }
.welcome-card h1 { margin: 0; }
.welcome-progress { width: min(36rem, 100%); margin: 0 0 0.8rem; color: rgb(var(--muted)); }
.welcome-actions { display: flex; justify-content: flex-end; gap: 0.6rem; margin-top: 0.4rem; }
.welcome-actions [data-flow="switch"] { order: 1; margin-right: auto; }
.welcome-actions [data-flow="back"] { order: 2; }
.welcome-actions [data-flow="again"] { order: 3; }
.welcome-actions [data-flow="next"] { order: 4; }
.welcome-leave { position: fixed; left: 2rem; bottom: 1.4rem; }
.welcome-leave button { background: none; border: 0; color: rgb(var(--muted)); cursor: pointer; padding: 0; }
.article-welcome .welcome-brand { justify-content: flex-start; }
.welcome-meter { display: block; height: 0.28rem; border-radius: 999px; background: rgb(var(--border)); overflow: hidden; }
.welcome-meter span { display: block; height: 100%; background: rgb(var(--brand)); }
.welcome-flash { width: min(36rem, 100%); margin: 0 0 0.8rem; }
.welcome-card.is-draft { width: min(46rem, 100%); }
.welcome-main:has(.welcome-card.is-draft) .welcome-flash { width: min(46rem, 100%); }
.welcome-switch {
  justify-self: start; align-self: center; background: none; border: 0; padding: 0; color: rgb(var(--muted));
  cursor: pointer; font: inherit; text-align: left;
}
.welcome-switch:hover { color: rgb(var(--fg)); }
.welcome-card details { display: grid; gap: 0.75rem; }
.welcome-card details.advance-options { margin-top: 0.65rem; }
.welcome-card details.advance-options::details-content {
  display: grid;
  gap: 1.35rem;
  padding-top: 1rem;
}
.welcome-card summary { cursor: pointer; color: rgb(var(--muted)); }
.welcome-draft { max-height: 32rem; overflow: auto; }
.journey-chip {
  display: grid; gap: 0.35rem; min-width: 11rem; text-align: left;
  border: 1px solid rgb(var(--border)); background: rgb(var(--surface));
  color: inherit; border-radius: 999px; padding: 0.45rem 0.9rem; cursor: pointer;
}
#journey-dialog .journey-tasks { font-size: 12px; }
#journey-dialog .journey-tasks li { align-items: center; }
#journey-dialog .journey-task-label { display: block; color: inherit; font-size: 12px; }
#journey-dialog .journey-tick { flex: none; color: rgb(var(--success)); }
#journey-dialog .row-actions { margin-top: 0.85rem; }
.journey-meter { display: block; height: 0.28rem; border-radius: 999px; background: rgb(var(--border)); overflow: hidden; }
.journey-meter span { display: block; height: 100%; background: rgb(var(--brand)); }
.next-action { display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; align-items: center; justify-content: space-between; }
.next-action h2, .next-action p { margin: 0; }
.create-new-content {
  display: flex;
  width: 100%;
  box-sizing: border-box;
  margin-top: 1.25rem;
}
.main > .create-new-content + .card,
.main > .create-new-content + section.card,
.main > section.card + .grid-2,
.main > .card + .grid-2 {
  margin-top: 1.25rem;
}
.dev-note { margin: 0 0 1rem; color: rgb(var(--muted)); font-size: var(--font-muted); }
@media (max-width: 800px) {
  .welcome { grid-template-columns: 1fr; }
  .welcome-brand { border-right: 0; border-bottom: 1px solid rgb(var(--border)); }
  .welcome-leave { position: static; padding: 0 1.5rem 1.5rem; }
}
