/* onpage — dark UI (attribution design tokens) */

/* Self-hosted Inter (upright variable axis, all weights in one file). Served
   from /static with an immutable far-future cache, so it's a one-time fetch and
   never blocks first paint on a third-party host. font-display:swap renders the
   fallback immediately and swaps when Inter is ready. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/static/InterVariable.woff2') format('woff2');
}

:root, .schema-viewer {
  --bg:         #0a0a0c;
  --bg-card:    #15151a;
  --bg-card-2:  #1a1a20;
  --bg-hover:   #1f1f26;
  --border:     #25252d;
  --text:       #ededf0;
  --text-2:     #a1a1aa;
  --text-3:     #71717a;
  --accent:     #a78bfa;
  --accent-2:   #8b5cf6;
  --accent-soft:rgba(167,139,250,0.12);
  --green:      #4ade80;
  --green-soft: rgba(74,222,128,0.12);
  --red:        #f87171;
  --red-soft:   rgba(248,113,113,0.12);
  --amber:      #fbbf24;
  --amber-soft: rgba(251,191,36,0.12);
  --radius:     14px;
  --radius-sm:  8px;
}

/* Theme tokens added for light mode. Values here are the dark originals that
   were previously hard-coded, so forced-dark pages render exactly as before.
   .schema-viewer is a deliberately dark visualisation surface ("dark island"):
   it re-declares the dark tokens so light-mode pages keep it readable. */
:root, .schema-viewer {
  --bg-sidebar:     #020106;
  --bg-sunken:      #0f0f13;
  --border-strong:  #363641;
  --text-on-accent: #fff;
  --accent-text:    #c4b5fd;
  --sky:            #38bdf8;
  --sky-text:       #7dd3fc;
  --h2-green:       #35a36b;
  --h2-green-text:  #68d99b;
  --h2-green-strong:#278456;
  --overlay:        rgba(0,0,0,.68);
  --shadow:         0 16px 38px rgba(0,0,0,.32);
  --shadow-lg:      0 28px 90px rgba(0,0,0,.6);
  --card-shadow:    none;
}

/* ── Theme selection ────────────────────────────────────────────────
   base.html renders <html data-theme="dark" data-theme-scope="fixed">.
   Core Onpage templates opt in with {{define "theme_scope"}}auto{{end}};
   an inline <head> script then sets data-theme to the saved choice or the OS
   preference. Every other page (Astro / Site Factory / social / ads) stays
   "fixed" and keeps the original dark palette. Light rules therefore only
   ever match theme-aware pages. */
:root[data-theme-scope="auto"], [data-theme-scope="auto"] .schema-viewer {
  /* Aliases for tokens older rules referenced but nothing defined. */
  --surface:   var(--bg-card);
  --surface-2: var(--bg-card-2);
  --card:      var(--bg-card);
  --border-light: var(--border);
  --good:      var(--green);
  --success:   var(--green);
  --danger:    var(--red);
  --bad:       var(--red);
}
:root[data-theme-scope="auto"][data-theme="dark"] {
  color-scheme: dark;
  /* Graphite + indigo: neutral greys (no blue/violet cast) and one deeper
     indigo accent. Button fills keep >=4.5:1 against white text. */
  --bg:         #0c0d10;
  --bg-sidebar: #0f1014;
  --bg-sunken:  #101116;
  --bg-card:    #15171c;
  --bg-card-2:  #1a1c22;
  --bg-hover:   #20232a;
  --border:     #262931;
  --border-strong: #353944;
  --text:       #eceef2;
  --text-2:     #a7abb6;
  --text-3:     #8b8f9b; /* AA (>=4.5:1) on bg, card and card-2 */
  --accent:     #7076f0;
  --accent-2:   #5b61e4;
  --accent-soft:rgba(112,118,240,.14);
  --accent-text:#a9adff;
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg:         #f6f7f9;
  --bg-card:    #ffffff;
  --bg-card-2:  #f2f3f6;
  --bg-hover:   #eceef2;
  --border:     #e3e5ea;
  --text:       #111318;
  --text-2:     #4a4f5c;
  --text-3:     #646976;
  --accent:     #4f46e5;
  --accent-2:   #4338ca;
  --accent-soft:rgba(79,70,229,.09);
  --green:      #137337;
  --green-soft: rgba(19,115,55,.1);
  --red:        #c62828;
  --red-soft:   rgba(198,40,40,.08);
  --amber:      #9a5b00;
  --amber-soft: rgba(176,108,0,.12);
  --bg-sidebar:     #fbfbfc;
  --bg-sunken:      #eceef2;
  --border-strong:  #cdd0d8;
  --accent-text:    #4338ca;
  --sky:            #0284c7;
  --sky-text:       #0369a1;
  --h2-green:       #1f8a4c;
  --h2-green-text:  #13703a;
  --h2-green-strong:#1f7a44;
  --overlay:        rgba(23,23,40,.42);
  --shadow:         0 12px 32px rgba(23,23,40,.12);
  --shadow-lg:      0 24px 64px rgba(23,23,40,.2);
  --card-shadow:    0 1px 2px rgba(23,23,40,.05);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  height: 100%;
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', ui-sans-serif, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-2); text-decoration: underline; }

/* ── App shell ─────────────────────────────────────────────────────── */
.app {
  display: grid;
  grid-template-columns: 240px 1fr;
  grid-template-rows: 1fr;
  min-height: 100vh;
}

/* ── Tabs (content page) ───────────────────────────────────────────── */
.tabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 16px;
}
.tab {
  background: none;
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--text-2);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 14px;
  cursor: pointer;
  margin-bottom: -1px;
}
.tab:hover { color: var(--text); }
.tab.active { color: var(--accent); border-bottom-color: var(--accent); }
.tabs a.tab { display:inline-flex; align-items:center; text-decoration:none; }
.tabpane[hidden] { display: none; }

/* One-click copy buttons (Meta & Schema) */
td > .copy-btn { float: right; margin-left: 10px; }
.copy-btn { font-size: 11px; padding: 2px 9px; }

/* ── Sidebar ───────────────────────────────────────────────────────── */
.sidebar {
  background: var(--bg-sidebar);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  padding: 20px 0;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

.brand {
  padding: 0 20px 24px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 12px;
}

.brand-logo {
  width: 100%;
  max-width: 140px;
  height: auto;
  display: block;
}

.wordmark, .auth-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  font-weight: 760;
  font-size: 19px;
  letter-spacing: -.035em;
  text-decoration: none;
}
.wordmark:hover { color: var(--text); text-decoration: none; }
.brand-mark { width: 12px; height: 12px; border-radius: 4px; background: linear-gradient(135deg,var(--accent),#67e8f9); box-shadow: 0 0 20px color-mix(in srgb,var(--accent) 35%,transparent); }
.site-search-dialog { position:fixed; inset:0; width:min(440px,calc(100vw - 32px)); max-height:min(620px,calc(100vh - 40px)); margin:auto; padding:0; border:1px solid var(--border-light); border-radius:14px; background:var(--bg-card); color:var(--text); box-shadow:var(--shadow-lg); }
.site-search-dialog::backdrop { background:var(--overlay); backdrop-filter:blur(3px); }
.site-search-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:18px 20px; border-bottom:1px solid var(--border); }
.site-search-head > div { display:flex; flex-direction:column; gap:3px; }
.site-search-head strong { font-size:15px; }
.site-search-head span { color:var(--text-3); font-size:11px; }
.site-search-head button { border:0; background:none; color:var(--text-3); cursor:pointer; font-size:24px; line-height:1; padding:0 2px; }
.site-search-head button:hover { color:var(--text); }
.site-search-body { padding:14px; }
.site-search-body > input { width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card-2); color:var(--text); font:inherit; font-size:13px; outline:none; }
.site-search-body > input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.sidebar-footer { margin-top:auto; padding:16px 20px 0; border-top:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:8px; }
.sidebar-footer button { border:0; background:none; color:var(--text-3); font:inherit; font-size:12px; cursor:pointer; padding:4px 0; }
.sidebar-footer button:hover { color:var(--text); }
.sidebar-footer button:focus-visible { color:var(--text); outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
.theme-toggle { display:inline-flex; align-items:center; gap:6px; }
.theme-toggle[hidden] { display:none; }
.theme-toggle-mark { width:10px; height:10px; border:1.5px solid currentColor; border-radius:50%; background:linear-gradient(90deg,currentColor 50%,transparent 50%); }

.nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0 12px;
}

.nav a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  color: var(--text-2);
  font-weight: 500;
  font-size: 13px;
  transition: background 0.15s, color 0.15s;
  text-decoration: none;
}

/* Author CSS sets nav links to flex, so explicitly preserve the HTML hidden
   state until the authenticated owner check has completed. */
.nav a[hidden] { display:none; }
.nav-premium { margin-left:auto; padding:1px 6px; border-radius:999px; background:var(--amber-soft); color:var(--amber); font-size:9.5px; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }

.nav a:hover {
  background: var(--bg-hover);
  color: var(--text);
  text-decoration: none;
}

.nav a.active {
  background: var(--accent-soft);
  color: var(--accent);
}

.nav-section {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-3);
  padding: 12px 12px 4px;
}

/* ── Main content ──────────────────────────────────────────────────── */
.main {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}

.page {
  padding: 28px;
  flex: 1;
  max-width: 1200px;
  width: 100%;
}

/* ── Card ──────────────────────────────────────────────────────────── */
.card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px 24px;
  margin-bottom: 20px;
}

.card-title {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-3);
  margin-bottom: 14px;
}

.card-heading {
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 8px;
}

/* ── Table ─────────────────────────────────────────────────────────── */
table.data {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

table.data th {
  text-align: left;
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-3);
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}

table.data td {
  padding: 9px 12px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  vertical-align: top;
}

table.data tr:last-child td { border-bottom: none; }

table.data tr:hover td { background: var(--bg-hover); }

/* ── Pills ─────────────────────────────────────────────────────────── */
.pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 9px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  background: var(--bg-card-2);
  color: var(--text-2);
  border: 1px solid var(--border);
  white-space: nowrap;
}

.pill.good {
  background: var(--green-soft);
  color: var(--green);
  border-color: transparent;
}

.pill.warn {
  background: var(--amber-soft);
  color: var(--amber);
  border-color: transparent;
}

.pill.alert {
  background: var(--red-soft);
  color: var(--red);
  border-color: transparent;
}

.pill.accent {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: transparent;
}

/* ── Buttons ───────────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid var(--border);
  background: var(--bg-card-2);
  color: var(--text);
  transition: background 0.15s, border-color 0.15s;
  text-decoration: none;
  font-family: inherit;
}

.btn:hover {
  background: var(--bg-hover);
  border-color: var(--text-3);
  text-decoration: none;
  color: var(--text);
}

.btn:disabled,
.btn:disabled:hover {
  cursor: not-allowed;
  opacity: .48;
  background: var(--bg-card-2);
  border-color: var(--border);
  color: var(--text-3);
}

.btn.accent {
  background: var(--accent-2);
  border-color: var(--accent-2);
  color: var(--text-on-accent);
}

.btn.accent:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--text-on-accent);
}
/* Theme-aware pages: "primary" buttons (the class already used for each
   form's main action) share the accent style; keyboard focus is always
   visible. :where() keeps specificity at zero so page rules still win. */
:where([data-theme-scope="auto"]) .btn.primary { background:var(--accent-2); border-color:var(--accent-2); color:var(--text-on-accent); }
:where([data-theme-scope="auto"]) .btn.primary:hover:not(:disabled) { background:var(--accent); border-color:var(--accent); color:var(--text-on-accent); }
:where([data-theme-scope="auto"]) .btn.primary:disabled { background:var(--bg-card-2); border-color:var(--border); color:var(--text-3); }
:where([data-theme-scope="auto"]) :is(a,button,summary,.btn,[tabindex]):focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
:where([data-theme-scope="auto"]) .card { box-shadow:var(--card-shadow); }

/* ── KPI ───────────────────────────────────────────────────────────── */
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.kpi {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px 20px;
}

.kpi-value {
  font-size: 28px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.1;
  margin-bottom: 4px;
}

.kpi-label {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-3);
}

/* ── Progress bar ──────────────────────────────────────────────────── */
.bar {
  background: var(--bg-card-2);
  border-radius: 100px;
  height: 8px;
  overflow: hidden;
  width: 100%;
}

.bar > span {
  display: block;
  height: 100%;
  background: var(--accent-2);
  border-radius: 100px;
  transition: width 0.4s ease;
}

/* ── Form ──────────────────────────────────────────────────────────── */
.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.form-group label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-3);
}

.form-group input,
.form-group select,
.form-group textarea {
  background: var(--bg-card-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text);
  font-family: inherit;
  font-size: 13px;
  padding: 9px 12px;
  transition: border-color 0.15s;
  outline: none;
  width: 100%;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.form-group input::placeholder {
  color: var(--text-3);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* ── Utilities ─────────────────────────────────────────────────────── */
.muted   { color: var(--text-3); }
.muted-2 { color: var(--text-2); }
.mono    { font-family: ui-monospace, 'Cascadia Code', 'Fira Code', monospace; font-size: 12px; }

.astro-schema-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--accent) 48%, var(--border));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
}
.astro-schema-intro { display:grid; gap:6px; }
.astro-schema-intro .pill { width:max-content; }
.astro-schema-intro strong { font-size:18px; }
.astro-schema-intro p { margin:0; color:var(--text-2); max-width:78ch; }
.astro-schema-readiness { display:flex; gap:12px; flex-wrap:wrap; font-size:12px; }
.astro-schema-button { width:max-content; }

.flex   { display: flex; }
.gap-2  { gap: 8px; }
.gap-4  { gap: 16px; }
.mt-2   { margin-top: 8px; }
.mt-4   { margin-top: 16px; }
.mb-2   { margin-bottom: 8px; }
.mb-4   { margin-bottom: 16px; }
.row    { display: flex; align-items: center; gap: 10px; }

.text-green  { color: var(--green); }
.text-red    { color: var(--red); }
.text-amber  { color: var(--amber); }
.text-accent { color: var(--accent); }

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tag {
  background: var(--bg-card-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 2px 8px;
  font-size: 12px;
  color: var(--text-2);
}

.section-heading {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}

.warn-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.warn-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--amber-soft);
  border-radius: var(--radius-sm);
  color: var(--amber);
  font-size: 12px;
  font-weight: 500;
}

.error-box {
  padding: 16px 20px;
  background: var(--red-soft);
  border: 1px solid var(--red);
  border-radius: var(--radius-sm);
  color: var(--red);
  font-size: 13px;
}

.empty-state {
  text-align: center;
  padding: 60px 20px;
  color: var(--text-3);
}

.empty-state h2 {
  font-size: 18px;
  color: var(--text-2);
  margin-bottom: 8px;
}

/* ── Status badges ─────────────────────────────────────────────────── */
.status-running  { color: var(--amber); }
.status-complete { color: var(--green); }
.status-failed   { color: var(--red); }

/* ── Scrollbar ─────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--text-3); }

/* Selection screen — competitor site rows */
.site-row:hover { background: var(--bg-hover); }
.site-row input[type="checkbox"] { accent-color: var(--accent); width:16px; height:16px; }
details > summary::-webkit-details-marker { display:none; }

/* ── Product polish / account surfaces ───────────────────────────── */
.page-header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.list-actions { display:flex; justify-content:flex-end; }
.analysis-list-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:14px; }
.analysis-search { display:flex; flex-direction:column; gap:6px; width:min(620px,100%); }
.analysis-search > label { color:var(--text-2); font-size:12px; font-weight:650; }
.analysis-search-controls { display:flex; align-items:stretch; gap:8px; }
.analysis-search input { flex:1 1 320px; min-width:0; background:var(--bg-card-2); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text); font:inherit; padding:9px 11px; outline:none; }
.analysis-search input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.analysis-list-summary { color:var(--text-2); font-size:12px; margin:0 0 10px; }
.analysis-list-summary strong { color:var(--text); }
.analysis-delete-notice { margin-bottom:12px; }
.analysis-row-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; white-space:nowrap; }
.analysis-row-actions form { margin:0; }
.btn.danger { color:var(--red); border-color:color-mix(in srgb,var(--red) 42%,var(--border)); }
.btn.danger:hover:not(:disabled) { background:color-mix(in srgb,var(--red) 12%,transparent); border-color:var(--red); }
.analysis-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; }
.analysis-pagination-actions { display:flex; gap:8px; }
.btn.disabled { color:var(--text-3); cursor:not-allowed; opacity:.65; }
@media (max-width:700px) {
  .analysis-list-toolbar { align-items:stretch; flex-direction:column; }
  .analysis-list-toolbar .list-actions .btn { width:100%; justify-content:center; }
  .analysis-search-controls { flex-wrap:wrap; }
  .analysis-search input { flex-basis:100%; }
  .analysis-pagination { align-items:stretch; flex-direction:column; }
  .analysis-pagination-actions .btn { flex:1; justify-content:center; text-align:center; }
}
.page-header h1, .auth-card h1 { font-size:24px; line-height:1.2; letter-spacing:-.025em; margin:2px 0 7px; }
.page-intro { color:var(--text-2); max-width:680px; }
.eyebrow { color:var(--accent); font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.11em; }
.compact-card { padding:22px; }
.compact-card h2, .account-summary h2, .platform-settings h2 { font-size:17px; letter-spacing:-.015em; margin-bottom:6px; }
.notice { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 16px; border:1px solid color-mix(in srgb,var(--accent) 32%,transparent); background:var(--accent-soft); border-radius:var(--radius-sm); margin-bottom:18px; color:var(--text-2); }
.notice strong { color:var(--text); }
.notice p { margin:1px 0 0; font-size:12px; }
.notice .btn { flex:0 0 auto; white-space:nowrap; }
.notice.error { border-color:color-mix(in srgb,var(--red) 45%,transparent); background:var(--red-soft); color:var(--red); }
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.form-stack { display:flex; flex-direction:column; gap:15px; }
#original-research { border-radius:0; background:var(--cds-layer-01,#262626); border-color:var(--cds-border-subtle-01,#393939); padding:24px; }
#original-research-title { margin:0 0 24px; color:var(--cds-text-primary,#f4f4f4); font-size:20px; font-weight:400; line-height:1.4; }
#original-research-form { gap:24px; position:relative; }
#original-research-form > label { gap:8px; color:var(--cds-text-primary,#f4f4f4); font-size:16px; font-weight:600; line-height:1.5; }
#original-research-form textarea { padding:11px 16px; border:0; border-bottom:1px solid var(--cds-border-strong-01,#8d8d8d); border-radius:0; background:var(--cds-field-02,#393939); color:var(--cds-text-primary,#f4f4f4); font-size:14px; font-weight:400; line-height:1.5; resize:vertical; min-height:88px; box-sizing:border-box; box-shadow:none; }
#original-research-form textarea:focus { outline:2px solid var(--cds-focus,#ffffff); outline-offset:-2px; box-shadow:none; }
.research-status-quiet { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#original-research-retry[hidden] { display:none; }
.form-stack > label, .form-grid > label { display:flex; flex-direction:column; gap:6px; color:var(--text-2); font-size:12px; font-weight:650; }
.form-stack input, .form-stack select, .form-stack textarea, .form-grid input, .form-grid select, .form-grid textarea,
.copy-row input, .inline-access input, .inline-access select { width:100%; background:var(--bg-card-2); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text); font:inherit; font-size:13px; padding:9px 11px; outline:none; }
.form-stack input:focus, .form-stack select:focus, .form-stack textarea:focus, .form-grid input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.form-stack small, .form-grid small { color:var(--text-3); font-size:11px; font-weight:450; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.form-grid .span-2 { grid-column:1/-1; }

/* Assisted social accounts */
.social-page-header { max-width:1040px; }
.social-overview-grid,.social-workflow-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr); gap:18px; max-width:1040px; align-items:start; }
.social-create-card,.social-boundary-card,.social-current-step,.social-credentials-card,.social-progress-card,.social-accounts-card { margin-bottom:18px; }
.social-platform-heading,.social-section-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; }
.social-platform-heading { justify-content:flex-start; }
.social-platform-heading h2,.social-boundary-card h2,.social-current-step h2,.social-section-heading h2 { margin:2px 0 0; font-size:18px; letter-spacing:-.015em; }
.social-platform-mark { display:grid; width:42px; height:42px; place-items:center; flex:0 0 auto; border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border)); border-radius:12px; background:linear-gradient(145deg,var(--accent-soft),transparent); color:var(--accent); font-size:12px; font-weight:800; letter-spacing:.06em; }
.social-create-card > p,.social-boundary-card > p,.social-current-step > p { color:var(--text-2); font-size:13px; line-height:1.65; }
.social-create-card .form-stack { margin-top:20px; }
.social-config-required,.social-human-boundary { margin-top:18px; padding:14px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface-2); }
.social-config-required p,.social-human-boundary p,.social-policy-note,.social-empty p { margin:4px 0 12px; color:var(--text-3); font-size:12px; line-height:1.5; }
.social-boundary-list,.social-progress-card ol { display:flex; flex-direction:column; gap:0; margin:15px 0; padding:0; list-style:none; }
.social-boundary-list li,.social-progress-card li { display:grid; grid-template-columns:28px 1fr; gap:10px; position:relative; padding:0 0 18px; }
.social-boundary-list li:last-child,.social-progress-card li:last-child { padding-bottom:0; }
.social-boundary-list li > span,.social-progress-card li > span { display:grid; width:26px; height:26px; place-items:center; z-index:1; border:1px solid var(--border); border-radius:50%; background:var(--surface); color:var(--text-3); font-size:11px; font-weight:750; }
.social-boundary-list p,.social-progress-card small { display:block; margin:3px 0 0; color:var(--text-3); font-size:11px; line-height:1.45; }
.social-accounts-card { max-width:1040px; padding:0; overflow:hidden; }
.social-accounts-card > .social-section-heading { padding:18px 20px 4px; }
.social-account-list { border-top:1px solid var(--border); }
.social-account-row { display:grid; grid-template-columns:minmax(0,1fr) auto 22px; gap:14px; align-items:center; padding:15px 20px; border-bottom:1px solid var(--border); color:var(--text); text-decoration:none; transition:background .15s ease; }
.social-account-row:last-child { border-bottom:0; }
.social-account-row:hover { background:var(--surface-2); }
.social-account-identity { display:flex; min-width:0; flex-direction:column; gap:4px; }
.social-account-identity small { overflow:hidden; color:var(--text-3); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.social-row-arrow { color:var(--text-3); }
.social-empty { padding:30px 20px; border-top:1px solid var(--border); text-align:center; }
.social-empty p { margin-bottom:0; }
.social-back-link { display:inline-block; margin-bottom:16px; color:var(--text-3); font-size:12px; text-decoration:none; }
.social-back-link:hover { color:var(--text); }
.social-account-header { max-width:1040px; align-items:center; }
.social-workflow-main { min-width:0; }
.social-action-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:18px; }
.social-current-step code { padding:2px 5px; border-radius:4px; background:var(--surface-2); color:var(--text); }
.social-verification-code { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:18px 0; padding:15px; border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border)); border-radius:var(--radius-sm); background:var(--accent-soft); }
.social-verification-code code { padding:0; background:none; font-size:24px; font-weight:760; letter-spacing:.16em; }
.social-complete-form { max-width:460px; margin-top:18px; }
.social-credential { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px 0; border-top:1px solid var(--border); }
.social-credential > div { min-width:0; }
.social-credential span { display:block; margin-bottom:5px; color:var(--text-3); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.social-credential code { display:block; overflow-wrap:anywhere; color:var(--text); font-size:12px; }
.social-copy { min-width:64px; }
.social-secret-note { margin:10px 0 0; color:var(--text-3); font-size:11px; line-height:1.5; }
.social-progress-card { position:sticky; top:20px; }
.social-progress-card li:not(:last-child)::after { content:""; position:absolute; top:26px; bottom:0; left:12px; width:1px; background:var(--border); }
.social-progress-card li.is-done > span { border-color:var(--green); background:var(--green-soft); color:var(--green); }
.social-progress-card li.is-current > span { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.social-progress-card li.is-done:not(:last-child)::after { background:color-mix(in srgb,var(--green) 48%,var(--border)); }
.social-policy-note { margin-top:16px; padding-top:14px; border-top:1px solid var(--border); }
.social-issue-card { display:flex; max-width:1040px; align-items:center; justify-content:space-between; gap:24px; }
.social-issue-card h2 { margin:2px 0 5px; font-size:16px; }
.social-issue-card p { margin:0; color:var(--text-3); font-size:12px; }
.social-issue-form { display:flex; flex:0 0 auto; gap:8px; }
.social-issue-form select { min-width:220px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface-2); color:var(--text); padding:8px 11px; }

@media (max-width:860px) {
  .social-overview-grid,.social-workflow-grid { grid-template-columns:1fr; }
  .social-progress-card { position:static; grid-row:1; }
  .social-issue-card { align-items:stretch; flex-direction:column; }
}

@media (max-width:560px) {
  .social-account-row { grid-template-columns:minmax(0,1fr) 18px; }
  .social-account-row .pill { grid-column:1; width:max-content; }
  .social-row-arrow { grid-column:2; grid-row:1/3; }
  .social-section-heading { align-items:flex-start; flex-direction:column; }
  .social-verification-code { align-items:flex-start; flex-direction:column; }
  .social-issue-form { flex-direction:column; }
  .social-issue-form select { width:100%; min-width:0; }
}
.credential-field { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.credential-field > label { width:100%; display:flex; flex-direction:column; gap:6px; color:var(--text-2); font-size:12px; font-weight:650; }
.credential-remove { appearance:none; padding:0; border:0; background:none; color:var(--red); font:inherit; font-size:11px; font-weight:650; cursor:pointer; }
.credential-remove:hover { text-decoration:underline; }
.credential-pool-heading-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.credential-pool-table-wrap { margin:0 -22px; border-block:1px solid var(--border); }
.credential-pool-table { width:100%; border-collapse:collapse; font-size:12px; }
.credential-pool-table th { padding:9px 12px; color:var(--text-3); font-size:10px; font-weight:700; letter-spacing:.07em; text-align:left; text-transform:uppercase; background:var(--bg-card-2); border-bottom:1px solid var(--border); }
.credential-pool-table td { padding:12px; border-bottom:1px solid var(--border); vertical-align:top; }
.credential-pool-table tr:last-child td { border-bottom:0; }
.credential-pool-table tbody tr:hover td { background:var(--bg-hover); }
.credential-pool-key-meta { display:block; margin-top:3px; color:var(--text-3); font-size:10px; line-height:1.45; }
.credential-pool-add { margin-top:20px; padding-top:18px; border-top:1px solid var(--border); }
.credential-pool-add .btn { align-self:flex-start; }
.credential-pool-empty { padding:18px; border:1px dashed var(--border); border-radius:var(--radius-sm); background:var(--bg-card-2); }
.credential-pool-empty p { margin:4px 0 0; }
.credential-pool-limit { margin:18px 0 0; padding:11px 13px; border-radius:var(--radius-sm); color:var(--text-2); background:var(--bg-card-2); }
.textrazor-pool-table { min-width:720px; }
.serpapi-pool-table-wrap { margin:0 -22px; border-block:1px solid var(--border); }
.serpapi-pool-table { width:100%; min-width:1060px; border-collapse:collapse; font-size:12px; }
.serpapi-pool-table th { padding:9px 12px; color:var(--text-3); font-size:10px; font-weight:700; letter-spacing:.07em; text-align:left; text-transform:uppercase; background:var(--bg-card-2); border-bottom:1px solid var(--border); }
.serpapi-pool-table td { padding:12px; border-bottom:1px solid var(--border); vertical-align:top; }
.serpapi-pool-table tr:last-child td { border-bottom:0; }
.serpapi-pool-table tbody tr:hover td { background:var(--bg-hover); }
.serpapi-key-meta,.serpapi-key-error { display:block; margin-top:3px; color:var(--text-3); font-size:10px; line-height:1.45; }
.serpapi-key-error { max-width:180px; color:var(--red); }
.serpapi-key-actions { display:flex; align-items:center; gap:10px; }
.serpapi-key-actions .btn { min-height:30px; padding:6px 10px; font-size:11px; }
.serpapi-key-actions .credential-remove { white-space:nowrap; }
.serpapi-pool-add { margin-top:20px; padding-top:18px; border-top:1px solid var(--border); }
.serpapi-pool-add .btn { align-self:flex-start; }
.serpapi-pool-empty { padding:18px; border:1px dashed var(--border); border-radius:var(--radius-sm); background:var(--bg-card-2); }
.serpapi-pool-empty p { margin:4px 0 0; }
.serpapi-pool-limit { margin:18px 0 0; padding:11px 13px; border-radius:var(--radius-sm); color:var(--text-2); background:var(--bg-card-2); }
.tabular { font-variant-numeric:tabular-nums; }
.check-row { flex-direction:row!important; align-items:center; cursor:pointer; }
.check-row input { width:auto; accent-color:var(--accent); }
.rank-model-option {
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start;
  gap:11px!important;
  padding:13px 14px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg-card-2);
  cursor:pointer;
}

.generation-title,
.generation-progress-value {
  color: var(--text);
  font-weight: 800;
}
.image-generation-card { max-width:640px; margin-top:12px; border-color:color-mix(in srgb,var(--accent) 32%,transparent); background:linear-gradient(145deg,var(--bg-card),color-mix(in srgb,var(--accent) 5.5%,transparent)); }
.image-progress-heading { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.image-progress-icon { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; flex:0 0 auto; color:var(--accent); background:var(--accent-soft); font-size:18px; box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent); }
.image-progress-copy { min-width:0; flex:1; }
.image-progress-copy .card-title { margin:0 0 3px; }
.image-progress-copy p { margin:0; font-size:12px; line-height:1.45; }
.image-progress-time { color:var(--text-3); font-size:11px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.image-progress-track { height:9px; }
.image-progress-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:9px; color:var(--text-2); font-size:12px; }
.image-progress-meta .generation-progress-value { color:var(--accent); }
.schema-generation-card { border-color:color-mix(in srgb,var(--sky) 32%,transparent); background:linear-gradient(145deg,var(--bg-card),color-mix(in srgb,var(--sky) 6%,transparent)); }
.schema-progress-icon { color:var(--sky); background:color-mix(in srgb,var(--sky) 10%,transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sky) 22%,transparent); }
.schema-generation-card .image-progress-track span { background:linear-gradient(90deg,var(--sky),#818cf8); }
.schema-generation-card .generation-progress-value { color:var(--sky-text); }
.schema-target-card { padding:0; border:0; border-radius:0; background:none; }
.schema-target-card label { display:flex; flex-direction:column; gap:8px; color:var(--text); font-size:13px; font-weight:750; }
.schema-target-card input { width:100%; background:var(--bg-card-2); border:0; border-radius:8px; color:var(--text); font:inherit; font-size:15px; padding:13px 14px; outline:none; }
.schema-target-card input:focus { box-shadow:0 0 0 2px var(--sky); }
.schema-target-card small { color:var(--text-2); font-size:12px; font-weight:450; line-height:1.45; }
.schema-report-card { margin-top:14px; overflow:hidden; border-color:color-mix(in srgb,var(--green) 22%,transparent); background:linear-gradient(150deg,var(--bg-card),color-mix(in srgb,var(--green) 3.5%,transparent)); }
.schema-report-header { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.schema-report-header .card-title { margin:0 0 3px; }
.schema-report-header p { margin:0; color:var(--text-2); font-size:12px; }
.schema-report-mark { width:38px; height:38px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; color:var(--green); background:var(--green-soft); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 22%,transparent); font-weight:900; }
.schema-report-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.schema-report-metrics > div { padding:13px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); }
.schema-report-metrics b { display:block; color:var(--text); font-size:20px; line-height:1.1; font-variant-numeric:tabular-nums; }
.schema-report-metrics span { display:block; margin-top:5px; color:var(--text-2); font-size:11px; }
.schema-output-panel { margin:16px 0 20px; padding:18px; border:1px solid color-mix(in srgb,var(--sky) 28%,transparent); border-radius:14px; background:linear-gradient(145deg,var(--bg-card-2),color-mix(in srgb,var(--sky) 4.5%,transparent)); scroll-margin-top:18px; }
.schema-output-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.schema-output-heading h3 { margin:3px 0 0; color:var(--text); font-size:16px; line-height:1.2; }
.schema-output-actions { display:flex; align-items:center; gap:9px; }
.schema-share-button { border-color:rgba(84,217,255,.32); background:rgba(84,217,255,.08); color:#c9f4ff; }
.schema-share-button:hover { border-color:rgba(84,217,255,.55); background:rgba(84,217,255,.14); color:#fff; }
.schema-share-button.is-copied { border-color:rgba(74,222,128,.42); background:rgba(74,222,128,.1); color:#baf7cc; }
.schema-share-button.is-error { border-color:rgba(248,113,113,.45); background:rgba(248,113,113,.1); color:#fecaca; }
.schema-output-eyebrow { color:var(--sky-text); font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.schema-main-card { overflow:visible; padding:0; border:0; border-radius:0; background:transparent; }
.schema-code-block { margin-top:12px; }
.schema-code-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:7px; color:var(--text-2); font-size:12px; }
.schema-code-toolbar .btn { flex:0 0 auto; padding:4px 11px; font-size:11px; }
.schema-viewer {
  color-scheme:dark;
  --sv-bg:#070916;
  --sv-panel:#0d1122;
  --sv-panel-2:#11182d;
  --sv-line:rgba(155,178,228,.15);
  --sv-text:#f5f7ff;
  --sv-muted:#96a0bd;
  --sv-cyan:#54d9ff;
  --sv-purple:#a78bfa;
  --sv-pink:#f472b6;
  --sv-green:#4ade80;
  --sv-amber:#fbbf24;
  margin-top:2px;
  font-size:14px;
  overflow:hidden;
  border:1px solid rgba(120,147,210,.22);
  border-radius:18px;
  background:var(--sv-bg);
  color:var(--sv-text);
  box-shadow:0 24px 65px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.04);
}
.schema-view-tabs {
  display:flex;
  align-items:center;
  gap:5px;
  padding:8px;
  border-bottom:1px solid var(--sv-line);
  background:rgba(10,14,29,.94);
}
.schema-view-tabs .btn {
  position:relative;
  min-width:110px;
  padding:9px 14px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--sv-muted);
  font-size:13px;
  font-weight:750;
  letter-spacing:.01em;
  box-shadow:none;
}
.schema-view-tabs .btn:hover { color:var(--sv-text); background:rgba(255,255,255,.045); }
.schema-view-tabs .btn.is-active {
  color:var(--sv-text);
  background:linear-gradient(135deg,rgba(84,217,255,.16),rgba(167,139,250,.14));
  box-shadow:inset 0 0 0 1px rgba(115,184,255,.22),0 5px 22px rgba(33,101,166,.13);
}
.schema-view-tabs .btn.is-active::after {
  content:"";
  position:absolute;
  right:18px;
  bottom:3px;
  left:18px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--sv-cyan),var(--sv-purple));
  box-shadow:0 0 12px rgba(84,217,255,.55);
}
.schema-fullscreen-button {
  margin-left:auto;
  padding:9px 13px;
  border:1px solid rgba(84,217,255,.22);
  border-radius:10px;
  background:rgba(84,217,255,.07);
  color:#bcefff;
  font:inherit;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.schema-fullscreen-button:hover { border-color:rgba(84,217,255,.45); background:rgba(84,217,255,.12); color:#fff; }
.schema-viewer-fullscreen-open { overflow:hidden!important; }
.schema-viewer.is-fullscreen {
  position:fixed;
  z-index:10000;
  inset:10px;
  margin:0;
  overflow:auto;
  border-color:rgba(84,217,255,.38);
  border-radius:18px;
  background:var(--sv-bg);
  box-shadow:0 35px 100px rgba(0,0,0,.72),0 0 0 9999px rgba(0,0,0,.72);
}
.schema-viewer.is-fullscreen .schema-view-tabs {
  position:sticky;
  z-index:15;
  top:0;
  min-height:48px;
  box-sizing:border-box;
  backdrop-filter:blur(18px);
}
.schema-view-pane[hidden] { display:none!important; }
.schema-viz-intro { min-width:260px; }
.schema-viz-kicker {
  display:block;
  margin-bottom:6px;
  color:var(--sv-cyan);
  font-size:11px;
  font-weight:850;
  letter-spacing:.16em;
}
.schema-viz-intro h4 { margin:0; color:var(--sv-text); font-size:24px; line-height:1.22; letter-spacing:-.03em; }
.schema-viz-intro p { max-width:650px; margin:7px 0 0; color:var(--sv-muted); font-size:14px; line-height:1.55; }
.schema-blueprint {
  min-height:580px;
  padding:28px;
  background:
    radial-gradient(circle at 12% 0%,rgba(84,217,255,.09),transparent 28%),
    radial-gradient(circle at 88% 0%,rgba(167,139,250,.08),transparent 30%),
    var(--sv-bg);
}
.schema-blueprint-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  max-width:1400px;
  margin:0 auto 24px;
}
.schema-blueprint-heading h4 { margin:0; font-size:27px; letter-spacing:-.035em; }
.schema-blueprint-heading p { max-width:700px; margin:7px 0 0; color:var(--sv-muted); font-size:14px; line-height:1.55; }
.schema-blueprint-totals { display:flex; align-items:baseline; gap:7px; color:var(--sv-muted); white-space:nowrap; }
.schema-blueprint-totals strong { color:var(--sv-text); font-size:25px; }
.schema-blueprint-totals span { font-size:12px; }
.schema-blueprint-totals i { margin:0 3px; color:#4b5879; font-style:normal; }
.schema-blueprint-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:1400px; margin:0 auto; }
.schema-blueprint-card {
  overflow:hidden;
  border:1px solid var(--sv-line);
  border-radius:16px;
  background:rgba(13,17,34,.84);
  box-shadow:0 16px 38px rgba(0,0,0,.16);
}
.schema-blueprint-card-head { display:flex; align-items:center; gap:13px; padding:17px 18px; border-bottom:1px solid var(--sv-line); }
.schema-blueprint-icon { display:grid; width:38px; height:38px; flex:0 0 auto; place-items:center; border:1px solid rgba(84,217,255,.2); border-radius:11px; background:rgba(84,217,255,.07); color:var(--sv-cyan); font-size:17px; }
.schema-blueprint-identity { min-width:0; flex:1; }
.schema-blueprint-identity small { display:block; margin-bottom:3px; color:var(--sv-muted); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.schema-blueprint-identity h5 { overflow:hidden; margin:0; color:var(--sv-text); font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.schema-blueprint-open { display:flex; align-items:center; gap:5px; color:#aeefff; font-size:11px; font-weight:750; text-decoration:none; }
.schema-blueprint-relations { padding:7px 18px; }
.schema-blueprint-relation { display:grid; grid-template-columns:minmax(105px,.55fr) 1.45fr; gap:14px; padding:10px 0; border-bottom:1px solid rgba(155,178,228,.09); }
.schema-blueprint-relation:last-child { border-bottom:0; }
.schema-blueprint-relation span { color:var(--sv-muted); font-size:12px; }
.schema-blueprint-relation strong { overflow:hidden; color:#e8ecf8; font-size:12px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.schema-blueprint-empty { padding:12px 0; color:var(--sv-muted); font-size:12px; }
.schema-blueprint-reference-row { display:flex; align-items:center; gap:7px; overflow:hidden; padding:10px 18px 14px; border-top:1px solid var(--sv-line); }
.schema-blueprint-reference-row > span { flex:0 0 auto; color:var(--sv-muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.schema-blueprint-reference { display:flex; align-items:center; gap:3px; overflow:hidden; padding:4px 7px; border:1px solid rgba(167,139,250,.16); border-radius:7px; color:#d7cbff; font-size:10px; text-decoration:none; }
.schema-blueprint-reference > span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.schema-readable-shell,.schema-map-shell {
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 13% 0%,rgba(40,181,255,.11),transparent 31%),
    radial-gradient(circle at 91% 3%,rgba(167,139,250,.10),transparent 29%),
    var(--sv-bg);
}
.schema-readable-shell::before,.schema-map-shell::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.14;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:28px 28px;
  pointer-events:none;
}
.schema-readable-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 24px;
  border-bottom:1px solid var(--sv-line);
}
.schema-viz-stats { display:grid; grid-template-columns:repeat(4,minmax(88px,1fr)); min-width:min(100%,500px); overflow:hidden; border:1px solid var(--sv-line); border-radius:13px; background:rgba(10,14,29,.68); }
.schema-viz-stat { display:flex; align-items:center; gap:9px; padding:11px 13px; }
.schema-viz-stat + .schema-viz-stat { border-left:1px solid var(--sv-line); }
.schema-viz-stat-value { color:var(--sv-text); font-size:26px; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.schema-viz-stat-text { display:flex; flex-direction:column; min-width:0; }
.schema-viz-stat-text strong { color:var(--sv-text); font-size:12px; }
.schema-viz-stat-text small { overflow:hidden; color:var(--sv-muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.schema-review-navigation {
  display:flex;
  align-items:center;
  gap:6px;
  padding:10px 22px;
  border-bottom:1px solid var(--sv-line);
  background:rgba(7,10,21,.74);
}
.schema-review-navigation button {
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--sv-muted);
  font:inherit;
  font-size:13px;
  font-weight:750;
  cursor:pointer;
}
.schema-review-navigation button > span { display:grid; min-width:22px; height:22px; place-items:center; border:1px solid var(--sv-line); border-radius:999px; font-size:10px; }
.schema-review-navigation button:hover { color:var(--sv-text); background:rgba(255,255,255,.035); }
.schema-review-navigation button.is-active { border-color:rgba(84,217,255,.24); background:rgba(84,217,255,.09); color:var(--sv-text); }
.schema-review-content { min-height:620px; }
.schema-review-subpane { padding:22px; }
.schema-review-subpane[data-review-pane="entities"] { padding:0; }
.schema-check-summary { display:grid; grid-template-columns:minmax(280px,1fr) minmax(280px,420px); gap:12px; margin-bottom:20px; }
.schema-check-primary { display:flex; align-items:center; gap:14px; padding:15px 17px; border:1px solid var(--sv-line); border-radius:14px; background:rgba(13,17,34,.76); }
.schema-check-primary-icon { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; border-radius:12px; font-size:18px; font-weight:850; }
.schema-check-primary > span:last-child { display:flex; flex-direction:column; gap:3px; }
.schema-check-primary strong { color:var(--sv-text); font-size:15px; }
.schema-check-primary small { color:var(--sv-muted); font-size:12px; }
.schema-check-primary.is-pass { border-color:rgba(74,222,128,.25); }
.schema-check-primary.is-pass .schema-check-primary-icon { background:rgba(74,222,128,.12); color:#86efac; }
.schema-check-primary.is-warning { border-color:rgba(251,191,36,.27); }
.schema-check-primary.is-warning .schema-check-primary-icon { background:rgba(251,191,36,.12); color:#fde68a; }
.schema-check-primary.is-error { border-color:rgba(251,113,133,.3); }
.schema-check-primary.is-error .schema-check-primary-icon { background:rgba(251,113,133,.13); color:#fda4af; }
.schema-check-counts { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid var(--sv-line); border-radius:14px; background:rgba(13,17,34,.76); }
.schema-check-counts > div { display:flex; align-items:center; justify-content:center; flex-direction:column; padding:11px; }
.schema-check-counts > div + div { border-left:1px solid var(--sv-line); }
.schema-check-counts strong { color:var(--sv-text); font-size:22px; }
.schema-check-counts span { margin-top:2px; color:var(--sv-muted); font-size:11px; }
.schema-check-counts .is-error strong { color:#fda4af; }
.schema-check-counts .is-warning strong { color:#fde68a; }
.schema-check-counts .is-pass strong { color:#86efac; }
.schema-summary-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:18px; }
.schema-summary-main,.schema-summary-connections { min-width:0; padding:19px; border:1px solid var(--sv-line); border-radius:15px; background:linear-gradient(145deg,rgba(17,24,45,.76),rgba(8,12,25,.8)); }
.schema-review-section-heading { display:flex; align-items:flex-start; gap:12px; margin-bottom:16px; }
.schema-review-section-heading > span { display:grid; width:30px; height:30px; flex:0 0 auto; place-items:center; border:1px solid rgba(84,217,255,.22); border-radius:9px; background:rgba(84,217,255,.07); color:var(--sv-cyan); font-size:10px; font-weight:850; }
.schema-review-section-heading h5 { margin:0; color:var(--sv-text); font-size:16px; }
.schema-review-section-heading p { margin:4px 0 0; color:var(--sv-muted); font-size:12px; line-height:1.45; }
.schema-core-cards { display:grid; gap:8px; }
.schema-core-card { display:flex; min-width:0; align-items:center; gap:12px; padding:12px; border:1px solid var(--sv-line); border-radius:12px; background:rgba(5,8,18,.48); }
.schema-core-card:hover { border-color:color-mix(in srgb,var(--node-color) 37%,transparent); background:color-mix(in srgb,var(--node-color) 6%,rgba(5,8,18,.7)); }
.schema-core-icon { display:grid; width:38px; height:38px; flex:0 0 auto; place-items:center; border-radius:10px; background:color-mix(in srgb,var(--node-color) 13%,transparent); color:var(--node-color); font-size:15px; box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--node-color) 30%,transparent); }
.schema-core-copy { display:flex; min-width:0; flex:1; flex-direction:column; gap:3px; }
.schema-core-copy .schema-core-type { color:var(--node-color); font-size:10px; font-weight:800; text-transform:uppercase; }
.schema-core-copy strong { overflow:hidden; color:var(--sv-text); font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.schema-core-copy small { color:var(--sv-muted); font-size:11px; }
.schema-core-open { display:inline-flex; align-items:center; gap:5px; padding:7px 9px; border:1px solid var(--sv-line); border-radius:8px; color:#bcefff; font-size:11px; font-weight:750; text-decoration:none; }
.schema-core-open:hover { border-color:rgba(84,217,255,.38); background:rgba(84,217,255,.07); }
.schema-plain-flow { display:grid; gap:9px; }
.schema-plain-flow-row { position:relative; display:flex; align-items:center; gap:11px; padding:10px 11px; border:1px solid var(--sv-line); border-radius:11px; background:rgba(5,8,18,.45); }
.schema-plain-flow-row:not(:last-child)::after { content:"↓"; position:absolute; z-index:2; bottom:-15px; left:24px; color:#596681; font-size:11px; }
.schema-plain-flow-icon { display:grid; width:30px; height:30px; flex:0 0 auto; place-items:center; border-radius:9px; background:color-mix(in srgb,var(--node-color) 13%,transparent); color:var(--node-color); font-size:12px; }
.schema-plain-flow-row > div { display:flex; min-width:0; flex-direction:column; gap:3px; }
.schema-plain-flow-row strong { overflow:hidden; color:var(--sv-text); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.schema-plain-flow-row small { color:var(--sv-muted); font-size:11px; line-height:1.35; }
.schema-checks-heading { margin-bottom:16px; }
.schema-checks-heading h5,.schema-reference-review-heading h5 { margin:0; color:var(--sv-text); font-size:19px; }
.schema-checks-heading p,.schema-reference-review-heading p { margin:5px 0 0; color:var(--sv-muted); font-size:12px; line-height:1.5; }
.schema-check-list { display:grid; gap:8px; }
.schema-check-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 15px; border:1px solid var(--sv-line); border-radius:12px; background:rgba(13,17,34,.64); }
.schema-check-icon { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; font-size:12px; font-weight:850; }
.schema-check-copy { display:flex; min-width:0; flex-direction:column; gap:3px; }
.schema-check-copy strong { color:var(--sv-text); font-size:13px; }
.schema-check-copy small { color:var(--sv-muted); font-size:11px; line-height:1.45; }
.schema-check-level { padding:5px 8px; border-radius:999px; font-size:10px; font-weight:800; }
.schema-check-row.is-pass .schema-check-icon,.schema-check-row.is-pass .schema-check-level { background:rgba(74,222,128,.11); color:#86efac; }
.schema-check-row.is-warning .schema-check-icon,.schema-check-row.is-warning .schema-check-level { background:rgba(251,191,36,.12); color:#fde68a; }
.schema-check-row.is-error .schema-check-icon,.schema-check-row.is-error .schema-check-level { background:rgba(251,113,133,.13); color:#fda4af; }
.schema-check-row.is-info .schema-check-icon,.schema-check-row.is-info .schema-check-level { background:rgba(84,217,255,.1); color:#a5ecff; }
.schema-all-references { max-width:1180px; margin:0 auto; }
.schema-reference-review-heading { margin-bottom:16px; }
.schema-reference-group { margin-top:10px; padding:14px; border:1px solid var(--sv-line); border-radius:14px; background:rgba(13,17,34,.62); }
.schema-reference-group-title { display:flex; align-items:center; gap:11px; margin-bottom:11px; }
.schema-reference-group-title > div { display:flex; min-width:0; flex:1; flex-direction:column; gap:2px; }
.schema-reference-group-title strong { overflow:hidden; color:var(--sv-text); font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.schema-reference-group-title small { color:var(--sv-muted); font-size:11px; }
.schema-readable-workspace { display:grid; grid-template-columns:minmax(230px,27%) minmax(0,1fr); min-height:650px; }
.schema-node-rail { display:flex; min-width:0; flex-direction:column; border-right:1px solid var(--sv-line); background:rgba(8,11,24,.72); }
.schema-node-rail-top { padding:17px 15px 12px; border-bottom:1px solid var(--sv-line); }
.schema-node-rail-top > label { display:block; margin:0 0 9px 2px; color:var(--sv-text); font-size:13px; font-weight:800; letter-spacing:.02em; }
.schema-search { position:relative; display:flex; align-items:center; }
.schema-search-icon { position:absolute; left:11px; color:var(--sv-muted); font-size:17px; pointer-events:none; }
.schema-search input {
  width:100%;
  height:38px;
  box-sizing:border-box;
  padding:0 12px 0 33px;
  border:1px solid var(--sv-line);
  border-radius:10px;
  outline:none;
  background:rgba(17,24,45,.76);
  color:var(--sv-text);
  font:inherit;
  font-size:13px;
}
.schema-search input::placeholder { color:#69738e; }
.schema-search input:focus { border-color:rgba(84,217,255,.48); box-shadow:0 0 0 3px rgba(84,217,255,.09),0 0 22px rgba(84,217,255,.05); }
.schema-node-list { display:flex; flex:1; flex-direction:column; gap:5px; max-height:720px; overflow:auto; padding:9px; scrollbar-color:rgba(126,147,195,.34) transparent; }
.schema-node-button {
  position:relative;
  display:flex;
  width:100%;
  align-items:center;
  gap:10px;
  padding:10px 9px;
  overflow:hidden;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:var(--sv-text);
  text-align:left;
  cursor:pointer;
}
.schema-node-button:hover { border-color:var(--sv-line); background:rgba(255,255,255,.035); }
.schema-node-button.is-selected {
  border-color:color-mix(in srgb,var(--node-color) 38%,transparent);
  background:linear-gradient(100deg,color-mix(in srgb,var(--node-color) 14%,transparent),rgba(255,255,255,.025));
  box-shadow:inset 3px 0 0 var(--node-color),0 8px 24px rgba(0,0,0,.13);
}
.schema-node-button-icon,.schema-detail-icon,.schema-relationship-symbol {
  display:grid;
  flex:0 0 auto;
  place-items:center;
  color:var(--node-color);
  background:color-mix(in srgb,var(--node-color) 13%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--node-color) 30%,transparent);
}
.schema-node-button-icon { width:31px; height:31px; border-radius:9px; font-size:12px; }
.schema-node-button-text { display:flex; min-width:0; flex:1; flex-direction:column; gap:3px; }
.schema-node-button-text strong { overflow:hidden; color:var(--sv-text); font-size:13px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.schema-node-button-text small { overflow:hidden; color:var(--sv-muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.schema-node-ref-count { display:grid; min-width:24px; height:24px; place-items:center; border:1px solid var(--sv-line); border-radius:12px; color:var(--sv-muted); font-size:10px; font-weight:800; }
.schema-search-empty { display:flex; min-height:180px; align-items:center; justify-content:center; flex-direction:column; gap:7px; color:var(--sv-muted); text-align:center; }
.schema-search-empty > span { font-size:27px; }
.schema-search-empty strong { color:var(--sv-text); font-size:11px; }
.schema-search-empty small { max-width:170px; font-size:9px; line-height:1.5; }
.schema-readable-main { min-width:0; max-height:795px; overflow:auto; padding:20px; scrollbar-color:rgba(126,147,195,.34) transparent; }
.schema-readable-detail { max-width:960px; margin:0 auto; }
.schema-detail-header { display:flex; align-items:center; gap:14px; padding:5px 2px 20px; }
.schema-detail-icon { width:48px; height:48px; border-radius:14px; font-size:17px; box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--node-color) 34%,transparent),0 10px 30px color-mix(in srgb,var(--node-color) 11%,transparent); }
.schema-detail-title { min-width:0; flex:1; }
.schema-detail-eyebrow { display:block; margin-bottom:3px; color:var(--node-color); font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.schema-detail-title h4 { margin:0 0 7px; overflow-wrap:anywhere; color:var(--sv-text); font-size:24px; line-height:1.25; letter-spacing:-.025em; }
.schema-node-types { display:flex; flex-wrap:wrap; gap:5px; }
.schema-node-type { padding:4px 8px; border:1px solid var(--sv-line); border-radius:999px; background:rgba(255,255,255,.025); color:var(--sv-muted); font-size:10px; font-weight:700; }
.schema-open-id {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 11px;
  border:1px solid var(--sv-line);
  border-radius:9px;
  background:rgba(255,255,255,.025);
  color:var(--sv-text);
  font-size:12px;
  font-weight:750;
  text-decoration:none;
}
.schema-open-id:hover { border-color:color-mix(in srgb,var(--node-color) 45%,transparent); background:color-mix(in srgb,var(--node-color) 9%,transparent); }
.schema-detail-section { margin-top:11px; padding:17px; border:1px solid var(--sv-line); border-radius:14px; background:linear-gradient(140deg,rgba(17,24,45,.82),rgba(10,14,29,.78)); box-shadow:0 14px 35px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.025); }
.schema-section-heading { display:flex; align-items:center; gap:11px; margin-bottom:14px; }
.schema-section-icon { display:grid; width:30px; height:30px; flex:0 0 auto; place-items:center; border:1px solid rgba(84,217,255,.18); border-radius:9px; background:rgba(84,217,255,.07); color:var(--sv-cyan); font-size:12px; }
.schema-section-heading h5,.schema-graph-detail-section h5 { margin:0; color:var(--sv-text); font-size:15px; }
.schema-section-heading p { margin:3px 0 0; color:var(--sv-muted); font-size:12px; }
.schema-relationship-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.schema-relationship-card { display:flex; min-width:0; align-items:center; gap:10px; padding:10px; border:1px solid var(--sv-line); border-radius:11px; background:rgba(6,9,19,.52); color:var(--sv-text); text-align:left; cursor:pointer; }
.schema-relationship-card:hover { border-color:color-mix(in srgb,var(--node-color) 43%,transparent); background:color-mix(in srgb,var(--node-color) 7%,rgba(6,9,19,.7)); transform:translateY(-1px); }
.schema-relationship-symbol { width:32px; height:32px; border-radius:9px; }
.schema-relationship-text { display:flex; min-width:0; flex:1; flex-direction:column; gap:2px; }
.schema-relationship-text small { color:var(--node-color); font-size:10px; font-weight:750; }
.schema-relationship-text strong { overflow:hidden; color:var(--sv-text); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.schema-relationship-text > span { overflow:hidden; color:var(--sv-muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.schema-relationship-arrow { color:var(--sv-muted); font-size:13px; }
.schema-property-grid { display:grid; gap:0; margin:0; overflow:hidden; border:1px solid var(--sv-line); border-radius:11px; background:rgba(5,8,18,.4); }
.schema-property-row { display:grid; grid-template-columns:minmax(130px,26%) minmax(0,1fr); }
.schema-property-row + .schema-property-row { border-top:1px solid var(--sv-line); }
.schema-property-row dt,.schema-property-row dd { min-width:0; margin:0; padding:9px 11px; }
.schema-property-row dt { border-right:1px solid var(--sv-line); color:var(--sv-muted); font-size:12px; font-weight:700; }
.schema-property-row dd { display:grid; gap:5px; color:var(--sv-text); font-size:13px; overflow-wrap:anywhere; }
.schema-property-value { min-width:0; }
.schema-boolean { display:inline-flex; padding:3px 7px; border-radius:999px; font-size:8px; font-weight:800; }
.schema-boolean.is-true { background:rgba(74,222,128,.12); color:#86efac; }
.schema-boolean.is-false { background:rgba(244,114,182,.12); color:#f9a8d4; }
.schema-empty-value { color:var(--sv-muted); font-style:italic; }
.schema-reference-link { display:inline-flex; min-width:0; align-items:center; gap:5px; color:#7ddfff; text-decoration:none; overflow-wrap:anywhere; }
.schema-reference-link:hover { color:#b8efff; text-decoration:underline; }
.schema-link-arrow { flex:0 0 auto; opacity:.7; font-size:9px; }
.schema-reference-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.schema-reference-card { display:flex; min-width:0; align-items:center; gap:9px; padding:9px 10px; border:1px solid var(--sv-line); border-radius:10px; background:rgba(6,9,19,.48); color:var(--sv-text); text-decoration:none; }
.schema-reference-card:hover { border-color:rgba(84,217,255,.36); background:rgba(84,217,255,.055); transform:translateY(-1px); }
.schema-reference-domain-icon { display:grid; width:28px; height:28px; flex:0 0 auto; place-items:center; border-radius:8px; background:linear-gradient(135deg,rgba(84,217,255,.16),rgba(167,139,250,.14)); color:#bcefff; font-size:10px; font-weight:850; }
.schema-reference-copy { display:flex; min-width:0; flex:1; flex-direction:column; gap:2px; }
.schema-reference-copy strong,.schema-reference-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.schema-reference-copy strong { color:var(--sv-text); font-size:12px; }
.schema-reference-copy small { color:var(--sv-muted); font-size:10px; }
.schema-category-site { --node-color:#54d9ff; }
.schema-category-page { --node-color:#a78bfa; }
.schema-category-business { --node-color:#f472b6; }
.schema-category-service { --node-color:#4ade80; }
.schema-category-place { --node-color:#fbbf24; }
.schema-category-support { --node-color:#fb7185; }
.schema-category-entity { --node-color:#8ba0ca; }
.schema-map-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; border-bottom:1px solid var(--sv-line); }
.schema-map-toolbar { display:flex; align-items:center; gap:8px; }
.schema-map-mode { display:flex; padding:3px; border:1px solid var(--sv-line); border-radius:10px; background:rgba(17,24,45,.62); }
.schema-map-mode button { padding:7px 10px; border:0; border-radius:7px; background:transparent; color:var(--sv-muted); font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.schema-map-mode button:hover { color:var(--sv-text); }
.schema-map-mode button.is-active { background:rgba(84,217,255,.11); color:#d7f6ff; box-shadow:inset 0 0 0 1px rgba(84,217,255,.16); }
.schema-map-search { width:230px; }
.schema-map-controls { display:flex; overflow:hidden; border:1px solid var(--sv-line); border-radius:10px; background:rgba(17,24,45,.65); }
.schema-map-controls button { display:grid; width:36px; height:36px; padding:0; place-items:center; border:0; border-left:1px solid var(--sv-line); background:transparent; color:var(--sv-text); font:inherit; font-size:14px; cursor:pointer; }
.schema-map-controls button:first-child { border-left:0; }
.schema-map-controls button:hover { background:rgba(84,217,255,.09); color:var(--sv-cyan); }
.schema-map-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,30%); min-height:740px; }
.schema-map-stage { position:relative; min-width:0; min-height:740px; overflow:hidden; border-right:1px solid var(--sv-line); background:radial-gradient(circle at 50% 48%,rgba(64,115,207,.10),transparent 42%); }
.schema-map-svg { display:block; width:100%; height:740px; cursor:grab; touch-action:none; }
.schema-map-svg:active { cursor:grabbing; }
.schema-map-edge { stroke:rgba(116,139,188,.26); stroke-width:1.4; transition:opacity .2s ease,stroke .2s ease,stroke-width .2s ease; }
.schema-map-edge.is-active { stroke:rgba(84,217,255,.82); stroke-width:2.2; filter:drop-shadow(0 0 4px rgba(84,217,255,.38)); }
.schema-map-arrow { fill:rgba(116,139,188,.5); }
.schema-map-edge-label { paint-order:stroke; stroke:var(--sv-bg); stroke-width:5px; fill:#8290af; font-size:11px; font-weight:700; pointer-events:none; opacity:.32; transition:opacity .2s ease,fill .2s ease; }
.schema-map-edge-label.is-active { fill:#bcefff; opacity:1; }
.schema-map-node { cursor:pointer; outline:none; transition:opacity .2s ease; }
.schema-map-node-halo { fill:color-mix(in srgb,var(--node-color) 8%,transparent); stroke:color-mix(in srgb,var(--node-color) 16%,transparent); stroke-width:1; opacity:.75; }
.schema-map-node-core { fill:color-mix(in srgb,var(--node-color) 15%,#080c19); stroke:color-mix(in srgb,var(--node-color) 72%,transparent); stroke-width:2; filter:drop-shadow(0 10px 18px rgba(0,0,0,.34)); transition:stroke-width .18s ease,filter .18s ease,fill .18s ease; }
.schema-map-node:hover .schema-map-node-core,.schema-map-node:focus .schema-map-node-core { stroke-width:4; fill:color-mix(in srgb,var(--node-color) 23%,#080c19); filter:url(#schema-node-glow); }
.schema-map-node.is-selected .schema-map-node-core { stroke-width:5; fill:color-mix(in srgb,var(--node-color) 27%,#080c19); filter:url(#schema-node-glow); }
.schema-map-node.is-dimmed { opacity:.2; }
.schema-map-node.is-related { opacity:1; }
.schema-map-node.is-search-hidden { opacity:.06!important; pointer-events:none; }
.schema-map-node-icon { fill:var(--node-color); font-size:17px; font-weight:800; pointer-events:none; }
.schema-map-node-type { fill:#ecf2ff; font-size:11px; font-weight:780; pointer-events:none; }
.schema-map-node-name { paint-order:stroke; stroke:var(--sv-bg); stroke-width:5px; fill:#d5def2; font-size:12px; font-weight:700; pointer-events:none; }
.schema-map-node-badge circle { fill:var(--sv-bg); stroke:var(--node-color); stroke-width:1.5; }
.schema-map-node-badge text { fill:var(--sv-text); font-size:8px; font-weight:850; }
.schema-map-legend { position:absolute; top:13px; left:13px; display:flex; max-width:calc(100% - 26px); flex-wrap:wrap; gap:9px 14px; padding:9px 11px; border:1px solid var(--sv-line); border-radius:10px; background:rgba(7,9,22,.79); backdrop-filter:blur(12px); color:#abb6d0; font-size:11px; pointer-events:none; }
.schema-map-legend span { display:flex; align-items:center; gap:5px; }
.schema-map-legend i { width:6px; height:6px; border-radius:50%; background:var(--node-color); box-shadow:0 0 8px var(--node-color); }
.schema-map-hint { position:absolute; right:13px; bottom:13px; padding:8px 10px; border:1px solid var(--sv-line); border-radius:8px; background:rgba(7,9,22,.79); color:#9da9c5; font-size:10px; pointer-events:none; }
.schema-map-detail { min-width:0; max-height:740px; overflow:auto; padding:20px; background:rgba(8,11,24,.74); scrollbar-color:rgba(126,147,195,.34) transparent; }
.schema-map-detail .schema-detail-header { align-items:flex-start; flex-wrap:wrap; }
.schema-map-detail .schema-detail-icon { width:42px; height:42px; border-radius:12px; }
.schema-map-detail .schema-detail-title h4 { font-size:19px; }
.schema-map-detail .schema-open-id { width:100%; justify-content:center; margin-top:2px; }
.schema-graph-node-metrics { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; margin:1px 0 15px; border:1px solid var(--sv-line); border-radius:11px; background:rgba(17,24,45,.6); }
.schema-graph-node-metrics > div { padding:10px 7px; text-align:center; }
.schema-graph-node-metrics > div + div { border-left:1px solid var(--sv-line); }
.schema-graph-node-metrics strong { display:block; color:var(--sv-text); font-size:15px; }
.schema-graph-node-metrics span { display:block; margin-top:2px; color:var(--sv-muted); font-size:10px; }
.schema-graph-detail-section { margin-top:14px; }
.schema-graph-detail-section h5 { margin-bottom:8px; }
.schema-graph-connection-list { display:grid; gap:5px; }
.schema-graph-connection-list button { display:grid; grid-template-columns:minmax(60px,28%) minmax(0,1fr) auto; align-items:center; gap:7px; padding:8px 9px; border:1px solid var(--sv-line); border-radius:9px; background:rgba(17,24,45,.54); color:var(--sv-text); text-align:left; cursor:pointer; }
.schema-graph-connection-list button:hover { border-color:rgba(84,217,255,.35); background:rgba(84,217,255,.055); }
.schema-graph-connection-list small { overflow:hidden; color:var(--sv-muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.schema-graph-connection-list strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.schema-map-detail .schema-reference-grid { grid-template-columns:1fr; }
.schema-map-detail .schema-reference-card { padding:7px 8px; }
.schema-cluster-intro { margin:0 0 13px; color:var(--sv-muted); font-size:12px; line-height:1.5; }
.schema-cluster-members { display:grid; gap:6px; }
.schema-cluster-members button { display:flex; align-items:center; gap:10px; width:100%; padding:9px; border:1px solid var(--sv-line); border-radius:10px; background:rgba(17,24,45,.54); color:var(--sv-text); text-align:left; cursor:pointer; }
.schema-cluster-members button:hover { border-color:color-mix(in srgb,var(--node-color) 38%,transparent); background:color-mix(in srgb,var(--node-color) 7%,rgba(17,24,45,.7)); }
.schema-cluster-members button > span:nth-child(2) { display:flex; min-width:0; flex:1; flex-direction:column; gap:2px; }
.schema-cluster-members strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.schema-cluster-members small { color:var(--sv-muted); font-size:10px; }
.schema-viewer.is-fullscreen .schema-readable-shell,.schema-viewer.is-fullscreen .schema-map-shell { min-height:calc(100vh - 68px); }
.schema-viewer.is-fullscreen .schema-review-content { min-height:calc(100vh - 236px); }
.schema-viewer.is-fullscreen .schema-review-subpane[data-review-pane="entities"] .schema-readable-workspace { min-height:calc(100vh - 238px); }
.schema-viewer.is-fullscreen .schema-node-list,.schema-viewer.is-fullscreen .schema-readable-main { max-height:calc(100vh - 330px); }
.schema-viewer.is-fullscreen .schema-map-body,.schema-viewer.is-fullscreen .schema-map-stage { min-height:calc(100vh - 165px); }
.schema-viewer.is-fullscreen .schema-map-svg { height:calc(100vh - 165px); min-height:620px; }
.schema-viewer.is-fullscreen .schema-map-detail { max-height:calc(100vh - 165px); }
.schema-code-editor { display:block; width:100%; height:480px; min-height:360px; box-sizing:border-box; padding:14px 16px; resize:vertical; overflow:auto; border:1px solid var(--border); border-radius:10px; background:var(--bg); color:var(--text); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:12px; line-height:1.5; white-space:pre; }
.schema-code-editor:focus { outline:none; border-color:var(--sky); box-shadow:0 0 0 3px color-mix(in srgb,var(--sky) 9%,transparent); }
.schema-version-picker { display:flex; align-items:center; gap:10px; margin-top:14px; color:var(--text-2); font-size:12px; }
.schema-version-picker span { font-weight:700; color:var(--text); }
.schema-version-picker select { min-width:230px; padding:7px 10px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card-2); color:var(--text); font:inherit; }
.schema-version-notice { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 14px; padding:10px 12px; border:1px solid color-mix(in srgb,var(--amber) 35%,transparent); border-radius:9px; background:color-mix(in srgb,var(--amber) 8%,transparent); color:var(--text-2); font-size:12px; }
.schema-version-notice form { margin:0; }
.schema-version-notice .btn { padding:5px 10px; font-size:11px; }
@media (max-width:700px) { .schema-report-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1100px) {
  .schema-readable-top { align-items:flex-start; flex-direction:column; }
  .schema-viz-stats { width:100%; }
  .schema-summary-layout { grid-template-columns:1fr; }
  .schema-map-body { grid-template-columns:minmax(0,1fr) minmax(230px,34%); }
}
@media (max-width:840px) {
  .schema-blueprint-heading { align-items:flex-start; flex-direction:column; }
  .schema-blueprint-grid { grid-template-columns:1fr; }
  .schema-check-summary { grid-template-columns:1fr; }
  .schema-readable-workspace { grid-template-columns:1fr; }
  .schema-node-rail { border-right:0; border-bottom:1px solid var(--sv-line); }
  .schema-node-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:280px; }
  .schema-readable-main { max-height:none; }
  .schema-map-header { align-items:flex-start; flex-direction:column; }
  .schema-map-toolbar { width:100%; }
  .schema-map-search { flex:1; width:auto; }
  .schema-map-body { grid-template-columns:1fr; }
  .schema-map-stage { min-height:560px; border-right:0; border-bottom:1px solid var(--sv-line); }
  .schema-map-svg { height:560px; }
  .schema-map-detail { max-height:none; }
}
@media (max-width:700px) {
  .schema-output-panel { padding:14px; }
  .schema-output-heading { align-items:flex-start; flex-direction:column; }
  .schema-output-actions { width:100%; justify-content:space-between; }
  .schema-blueprint { padding:18px 12px; }
  .schema-code-editor { height:380px; min-height:300px; }
  .schema-version-picker { align-items:stretch; flex-direction:column; }
  .schema-version-picker select { width:100%; min-width:0; }
  .schema-view-tabs { flex-wrap:wrap; }
  .schema-view-tabs .btn { min-width:0; flex:1; padding:9px 7px; font-size:11px; }
  .schema-fullscreen-button { order:2; width:100%; margin-left:0; }
  .schema-readable-top,.schema-map-header { padding:18px 15px; }
  .schema-viz-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .schema-viz-stat:nth-child(3) { border-left:0; border-top:1px solid var(--sv-line); }
  .schema-viz-stat:nth-child(4) { border-top:1px solid var(--sv-line); }
  .schema-node-list { grid-template-columns:1fr; }
  .schema-review-navigation { padding:8px; overflow-x:auto; }
  .schema-review-navigation button { flex:0 0 auto; font-size:11px; }
  .schema-review-subpane { padding:14px; }
  .schema-check-primary { align-items:flex-start; }
  .schema-check-row { grid-template-columns:auto minmax(0,1fr); }
  .schema-check-level { grid-column:2; justify-self:start; }
  .schema-readable-main { padding:14px; }
  .schema-detail-header { align-items:flex-start; flex-wrap:wrap; }
  .schema-detail-title { min-width:calc(100% - 70px); }
  .schema-open-id { width:100%; justify-content:center; }
  .schema-relationship-grid,.schema-reference-grid { grid-template-columns:1fr; }
  .schema-property-row { grid-template-columns:1fr; }
  .schema-property-row dt { padding-bottom:3px; border-right:0; }
  .schema-property-row dd { padding-top:3px; }
  .schema-map-toolbar { align-items:stretch; flex-direction:column; }
  .schema-map-controls { align-self:flex-end; }
  .schema-map-stage { min-height:460px; }
  .schema-map-svg { height:460px; }
  .schema-map-hint { display:none; }
}
.recommended-alt-actions { display:flex; align-items:center; gap:10px; }
.recommended-alt-input {
  appearance:none;
  flex:1 1 auto;
  min-width:0;
  width:100%;
  padding:9px 11px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg-card-2);
  color:var(--text);
  font:inherit;
  font-size:13px;
  line-height:1.45;
  outline:none;
}
.recommended-alt-input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.generated-image-alt-input {
  appearance:none;
  flex:1 1 auto;
  min-width:240px;
  width:100%;
  box-sizing:border-box;
  padding:7px 10px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--bg-card-2);
  color:var(--text);
  font:inherit;
  font-size:13px;
  line-height:1.35;
  outline:none;
}
.generated-image-alt-input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.generated-image-alt-input::selection { background:var(--accent); color:var(--text-on-accent); }
.recommended-alt-actions .copy-btn { float:none; margin:0; flex:0 0 auto; }
.icon-btn {
  width:38px;
  min-width:38px;
  height:36px;
  padding:0;
  display:inline-grid;
  place-items:center;
  color:var(--text);
  background:linear-gradient(180deg,color-mix(in srgb,var(--text) 5.5%,transparent),color-mix(in srgb,var(--text) 1.8%,transparent));
  border-color:color-mix(in srgb,var(--text) 13%,transparent);
  line-height:1;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.icon-btn:hover {
  color:var(--text);
  border-color:color-mix(in srgb,var(--text) 30%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--text) 11%,transparent),color-mix(in srgb,var(--text) 4.5%,transparent));
  box-shadow:0 5px 16px rgba(0,0,0,.22);
  transform:translateY(-1px);
}
.icon-btn:focus-visible { color:var(--text); outline:2px solid var(--accent); outline-offset:2px; }
.icon-btn .ui-icon { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.copy-generated-image .ui-icon { fill:currentColor; stroke:none; }
.regenerate-image-button { color:var(--accent-text); border-color:color-mix(in srgb,var(--accent) 24%,transparent); }
.regenerate-image-button:hover { color:color-mix(in srgb,var(--accent-text) 60%,var(--text)); border-color:color-mix(in srgb,var(--accent) 55%,transparent); background:color-mix(in srgb,var(--accent-2) 12%,transparent); }
.recommended-alt-regenerate { color:var(--text); }
.recommended-alt-add { margin:12px 16px 16px; }
.recommended-alt-add span { font-size:18px; line-height:0; margin-right:3px; }
.rank-model-choices,.serp-version-choices { min-inline-size:0; margin:0; padding:0; border:0; }
.rank-model-choices { display:grid; gap:10px; }
.rank-model-choices > legend,.serp-version-choices > legend { margin:0 0 8px; padding:0; color:var(--text-2); font-size:12px; font-weight:650; }
.serp-version-choices { display:grid; gap:8px; }
.serp-version-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.serp-version-option { display:flex; align-items:flex-start; gap:10px; padding:13px 14px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-card-2); cursor:pointer; transition:border-color 120ms ease-out,background-color 120ms ease-out; }
.serp-version-option:hover { border-color:color-mix(in srgb,var(--accent) 48%,transparent); background:var(--accent-soft); }
.serp-version-option:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); }
.serp-version-option:focus-within { box-shadow:0 0 0 3px var(--accent-soft); }
.serp-version-option input { flex:0 0 auto; width:16px!important; height:16px; margin:2px 0 0; accent-color:var(--accent); }
.serp-version-option > span { display:flex; min-width:0; flex-direction:column; gap:3px; }
.serp-version-option small { color:var(--text-2); font-size:11px; font-weight:450; line-height:1.45; }
.choice-title { display:flex; align-items:center; gap:7px; color:var(--text); }
.choice-title strong { font-size:13px; }
.choice-tag { display:inline-flex; align-items:center; min-height:18px; padding:1px 6px; border:1px solid var(--border); border-radius:999px; color:var(--text-3); font-size:9px; font-style:normal; font-weight:750; letter-spacing:.04em; line-height:1; text-transform:uppercase; }
.choice-tag.beta { border-color:color-mix(in srgb,var(--amber) 35%,transparent); background:color-mix(in srgb,var(--amber) 10%,transparent); color:var(--amber); }
.serp-version-choices > small { color:var(--text-3); font-size:11px; font-weight:450; }
.coordinate-radius-field { max-width:calc(50% - 7px); }
.coordinate-radius-field[hidden] { display:none!important; }
.info-gain-scan-toggle { display:grid !important; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:10px; padding:12px 14px; border:1px solid var(--border); border-radius:10px; background:var(--bg-card-2); color:var(--text) !important; cursor:pointer; }
.info-gain-scan-toggle input { width:16px; height:16px; margin-top:2px; accent-color:var(--accent); }
.info-gain-scan-toggle span { display:flex; flex-direction:column; gap:3px; }
.info-gain-scan-toggle small { color:var(--text-3); font-weight:450; }
.rank-model-option:hover { border-color:color-mix(in srgb,var(--accent) 48%,transparent); background:var(--accent-soft); }
.rank-model-option input { flex:0 0 auto; width:16px!important; height:16px; margin-top:2px; accent-color:var(--accent); }
.rank-model-option span { display:flex; flex-direction:column; gap:2px; }
.rank-model-option strong { color:var(--text); font-size:13px; }
.rank-model-option small { color:var(--text-2); font-size:11px; font-weight:450; line-height:1.45; }
.rank-model-switch { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; padding:14px 20px; margin-top:14px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--surface-2); }
.rank-model-switch-label { font-size:12px; font-weight:700; color:var(--text); }
.rank-model-switch label { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text); cursor:pointer; }
.rank-model-switch input { width:15px!important; height:15px; margin:0; accent-color:var(--accent); }
.rank-model-dropdown { position:relative; }
.rank-model-dropdown > summary { list-style:none; cursor:pointer; white-space:nowrap; }
.rank-model-dropdown > summary::-webkit-details-marker { display:none; }
.rank-model-dropdown[open] > summary { border-color:var(--accent); background:var(--accent-soft); }
.rank-model-dropdown-menu { position:absolute; z-index:30; right:0; top:calc(100% + 7px); width:270px; display:grid; gap:9px; padding:14px; border:1px solid var(--border); border-radius:10px; background:var(--surface); box-shadow:var(--shadow); }
.rank-model-dropdown-menu label { font-size:12px; font-weight:700; color:var(--text); }
.rank-model-dropdown-menu select { width:100%; }
.rank-model-dropdown-menu small { color:var(--text-2); font-size:11px; line-height:1.45; }
.info-gain-choice { display:grid; gap:8px; margin:12px 0; }
.info-gain-option { display:flex; align-items:flex-start; gap:10px; padding:11px 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface-2); cursor:pointer; }
.info-gain-option:hover { border-color:color-mix(in srgb,var(--accent) 48%,transparent); }
.info-gain-option.selected { border-color:var(--accent); background:var(--accent-soft); }
.info-gain-option input { flex:0 0 auto; width:16px!important; height:16px; margin-top:2px; accent-color:var(--accent); }
.info-gain-option > span { display:flex; flex-direction:column; gap:3px; min-width:0; }
.info-gain-option small { color:var(--text-2); line-height:1.4; }
.info-gain-evidence { margin:0 0 10px 38px; padding:0 4px 10px; border-bottom:1px solid var(--border); }
.info-gain-generate-form { padding:18px; }
.info-gain-progress { margin-top:14px; padding:14px; border:1px solid var(--border); border-radius:10px; background:var(--surface-2); }
.info-gain-progress p { margin:5px 0 10px; font-size:12px; }
.info-gain-progress-bar { overflow:hidden; }
.info-gain-progress-bar span { width:38%; animation:info-gain-loading 1.35s ease-in-out infinite; }
@keyframes info-gain-loading {
  0% { transform:translateX(-115%); }
  100% { transform:translateX(300%); }
}
.rank-comparison-scroll { overflow-x:auto; }
.rank-comparison-table { min-width:850px; }
.rank-comparison-table td { font-variant-numeric:tabular-nums; }
.factor-label { cursor:help; text-decoration:underline dotted; text-decoration-color:var(--text-3); text-underline-offset:3px; }
.active-target-badge { display:inline-block; padding:1px 5px; margin-left:3px; border-radius:8px; background:var(--accent-soft); color:var(--accent); font-size:9px; text-transform:uppercase; letter-spacing:.04em; }
.active-target-cell { background:var(--accent-soft); color:var(--accent); font-weight:700; }
.rank-difference.positive { color:var(--green); }
.rank-difference.negative { color:var(--amber); }
.btn-wide { width:100%; justify-content:center; }
.section-lead { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.subscription-runner-card { border-color:var(--border); transition:border-color 160ms ease-out,box-shadow 160ms ease-out; }
.subscription-runner-card.is-connected { border-color:color-mix(in srgb,var(--green) 36%,transparent); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--green) 4.5%,transparent); }
.subscription-overall-state { min-width:82px; justify-content:center; }
.subscription-runner-states { min-height:32px; margin-bottom:14px; flex-wrap:wrap; }
.subscription-runner-states .pill { min-width:112px; justify-content:center; }
.subscription-runner-states .pill + .pill { min-width:148px; }
.subscription-runner-action { min-height:46px; align-items:center; flex-wrap:wrap; }
.subscription-runner-action > .muted { text-wrap:pretty; }
.subscription-accounts { margin-bottom:16px; overflow-wrap:anywhere; }
.subscription-account-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; padding:12px 14px; border:1px solid var(--border); border-radius:6px; background:var(--surface-raised,var(--surface)); }
.subscription-account-row + .subscription-account-row { margin-top:8px; }
.subscription-account-row.is-online { border-color:color-mix(in srgb,var(--green) 36%,transparent); }
.subscription-account-label { color:var(--muted); font-size:13px; }
.subscription-account-email { font-size:15px; }
.subscription-account-plan { text-transform:capitalize; }
.subscription-account-warning { margin:8px 0 0; padding:10px 12px; border-radius:6px; color:var(--text); background:var(--amber-soft); font-size:13px; line-height:1.5; text-wrap:pretty; }
.subscription-connect { padding-top:16px; border-top:1px solid var(--border); }
.subscription-connect-title { margin:0; }
.subscription-connect-help { max-width:720px; margin:4px 0 12px; font-size:13px; line-height:1.5; text-wrap:pretty; }
.subscription-writer-choice { display:inline-flex; flex-wrap:wrap; gap:4px; margin:0 0 10px; padding:3px; border:1px solid var(--border); border-radius:8px; }
.subscription-writer-choice label { position:relative; display:inline-flex; align-items:center; min-height:34px; padding:0 14px; border-radius:6px; color:var(--muted); font-size:13px; font-weight:600; cursor:pointer; transition:background 140ms ease-out,color 140ms ease-out; }
.subscription-writer-choice input { position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.subscription-writer-choice label:has(input:checked) { color:var(--text); background:var(--accent-soft,rgba(120,169,255,.16)); }
.subscription-writer-choice label:has(input:focus-visible) { outline:2px solid var(--focus,#78a9ff); outline-offset:1px; }
.subscription-connect-command { margin:0 0 10px; padding:12px; border:1px solid var(--border); border-radius:6px; color:var(--text); background:var(--surface-subtle,rgba(0,0,0,.12)); font-size:12px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
.subscription-connect-command:focus-visible { outline:2px solid var(--focus,#78a9ff); outline-offset:-2px; }
@media (prefers-reduced-motion:reduce) { .subscription-runner-card { transition:none; } }
.account-summary { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.release-settings-card,.release-current,.release-entry-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.release-settings-action { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.release-settings-copy { min-width:0; }
.release-settings-features { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }
.release-settings-features a { display:inline-flex; align-items:center; gap:5px; padding:7px 10px; border:1px solid var(--border); border-radius:999px; background:var(--surface-2); color:var(--text); font-size:12px; font-weight:700; text-decoration:none; transition:border-color .15s ease,background .15s ease,color .15s ease; }
.release-settings-features a:hover { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.release-list { display:grid; gap:16px; margin-top:16px; }
.release-feature-section { display:grid; gap:14px; }
.release-section-heading { padding:8px 2px 0; }
.release-section-heading h2 { margin:2px 0 5px; }
.release-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.release-feature-card { padding:20px; scroll-margin-top:24px; }
.release-feature-card:target { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.release-feature-card h3 { margin:0 0 7px; font-size:17px; }
.release-feature-summary { margin:0; color:var(--text-2); line-height:1.55; }
.release-feature-card ul { margin:14px 0 0; padding-left:19px; color:var(--text-2); }
.release-feature-card li { margin:8px 0; line-height:1.5; }
.release-entry { padding:24px; }
.release-entry-head { align-items:flex-start; padding-bottom:18px; border-bottom:1px solid var(--border); }
.release-copy { padding-top:18px; color:var(--text-2); line-height:1.65; }
.release-copy p { margin:0 0 14px; }
.release-closing { padding-top:18px; }
.release-fixes { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.release-fixes li { position:relative; padding:16px 0 16px 42px; border-bottom:1px solid var(--border); }
.release-fixes li:last-child { border-bottom:0; padding-bottom:0; }
.release-fix-number { position:absolute; left:0; top:14px; display:grid; place-items:center; width:26px; height:26px; border:1px solid var(--border); border-radius:8px; color:var(--accent); font-size:12px; font-weight:750; background:var(--surface-2); }
.release-fixes p { margin:5px 0 0; color:var(--text-2); line-height:1.6; }
.access-state { min-width:250px; display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid color-mix(in srgb,var(--green) 25%,transparent); background:var(--green-soft); border-radius:var(--radius-sm); }
.access-state p { color:var(--text-2); font-size:12px; margin-top:1px; }
.access-state.expired { border-color:color-mix(in srgb,var(--red) 30%,transparent); background:var(--red-soft); }
.status-dot { width:9px; height:9px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 12%,transparent); }
.expired .status-dot { background:var(--red); box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 12%,transparent); }
.clean-list { margin:0; padding-left:18px; color:var(--text-2); }
.clean-list li { margin:7px 0; }
.copy-row { display:flex; gap:8px; margin-top:10px; }
.invite-result { display:grid; grid-template-columns:220px 1fr; align-items:center; gap:20px; }
.table-card { padding:0; overflow:hidden; }
.table-card-head { padding:20px 22px 12px; }
.table-card table { width:100%; border-collapse:collapse; font-size:13px; }
.table-card th { text-align:left; padding:9px 14px; color:var(--text-3); font-size:10px; text-transform:uppercase; letter-spacing:.07em; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.table-card td { padding:12px 14px; border-bottom:1px solid var(--border); vertical-align:middle; }
.table-card tr:last-child td { border-bottom:0; }
.table-scroll { overflow-x:auto; }
.account-actions { display:flex; justify-content:flex-end; align-items:center; gap:8px; min-width:370px; }
.account-actions form { margin:0; }
.account-action-row { display:flex; gap:6px; }
.inline-access { display:grid; grid-template-columns:145px 100px auto; gap:6px; }
.content-editor-card { padding:0; overflow:visible; }
.main.content-editor-main { overflow:visible; }
.content-toolbar { position:sticky; top:0; z-index:30; padding:12px 18px; display:flex; justify-content:flex-start; border-bottom:1px solid var(--border); border-radius:var(--radius) var(--radius) 0 0; background:color-mix(in srgb,var(--bg-card) 96%,transparent); box-shadow:0 10px 24px rgba(0,0,0,.24); backdrop-filter:blur(14px); }
.content-toolbar-actions { display:flex; align-items:center; justify-content:flex-start; flex-wrap:nowrap; gap:5px; min-width:0; flex:1 1 auto; overflow-x:auto; scrollbar-width:none; }
.content-toolbar-actions::-webkit-scrollbar { display:none; }
.content-toolbar-actions .btn { white-space:nowrap; padding:7px 10px; font-size:12px; }
.content-toolbar-actions form { margin:0!important; }
.content-toolbar-rank { flex:0 0 auto; margin-left:8px; }
.content-toolbar-rank-select {
  width:auto;
  min-width:108px;
  padding:7px 30px 7px 10px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background-color:var(--bg-card-2);
  color:var(--text);
  font:inherit;
  font-size:12px;
  font-weight:650;
  line-height:1.2;
  cursor:pointer;
  outline:none;
}
.content-toolbar-rank-select:hover { border-color:var(--text-3); }
.content-toolbar-rank-select:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.content-toolbar-rank-select option { background:var(--bg-card-2); color:var(--text); }
.content-site-button { max-width:360px; overflow:hidden; text-overflow:ellipsis; }
.content-site-connected { display:inline-flex; align-items:center; gap:7px; }
.content-site-connected > span { width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:var(--good); box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 18%,transparent); }
.content-site-connected strong { font-size:11px; color:var(--good); text-transform:uppercase; letter-spacing:.04em; }
.content-site-connected em { min-width:0; overflow:hidden; color:var(--text); font-size:12px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.astro-publication-result { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; margin-bottom:16px; padding:13px 14px; border:1px solid color-mix(in srgb,var(--amber) 40%,var(--border)); border-radius:var(--radius-sm); background:color-mix(in srgb,var(--amber) 8%,var(--bg-card)); }
.astro-publication-result-icon { display:grid; width:26px; height:26px; place-items:center; border:2px solid color-mix(in srgb,var(--amber) 32%,transparent); border-top-color:var(--amber); border-radius:50%; animation:astro-publication-spin .9s linear infinite; }
.astro-publication-result-copy { display:grid; gap:2px; min-width:0; }
.astro-publication-result-copy strong { color:var(--text); font-size:13px; }
.astro-publication-result-copy p { margin:0; color:var(--text-2); font-size:11px; line-height:1.45; white-space:normal; }
.astro-publication-result-actions { display:flex; align-items:center; gap:8px; }
.astro-publication-result-actions [hidden] { display:none!important; }
.astro-publication-result-actions .btn { min-height:36px; padding:7px 11px; white-space:nowrap; }
.astro-publication-stop { border-color:color-mix(in srgb,var(--red) 34%,var(--border)); color:color-mix(in srgb,var(--red) 72%,var(--text)); }
.astro-publication-stop:hover { border-color:color-mix(in srgb,var(--red) 58%,var(--border)); background:color-mix(in srgb,var(--red) 9%,var(--bg-card-2)); color:var(--text); }
.astro-publication-result.is-live, .astro-publication-result.is-draft { border-color:color-mix(in srgb,var(--green) 38%,var(--border)); background:color-mix(in srgb,var(--green) 8%,var(--bg-card)); }
.astro-publication-result.is-live .astro-publication-result-icon, .astro-publication-result.is-draft .astro-publication-result-icon { border:0; background:var(--green); animation:none; }
.astro-publication-result.is-live .astro-publication-result-icon::after, .astro-publication-result.is-draft .astro-publication-result-icon::after { width:8px; height:4px; border-bottom:2px solid var(--bg); border-left:2px solid var(--bg); content:""; transform:translateY(-1px) rotate(-45deg); }
.astro-publication-result.is-failed { border-color:color-mix(in srgb,var(--red) 45%,var(--border)); background:var(--red-soft); }
.astro-publication-result.is-failed .astro-publication-result-icon { border:0; border-radius:7px; background:var(--red); animation:none; }
.astro-publication-result.is-failed .astro-publication-result-icon::after { color:var(--bg); content:"×"; font-size:19px; font-weight:800; line-height:1; }
.astro-publication-result.is-stopped { border-color:var(--border); background:var(--bg-card); }
.astro-publication-result.is-stopped .astro-publication-result-icon { border:0; border-radius:7px; background:var(--text-3); animation:none; }
.astro-publication-result.is-stopped .astro-publication-result-icon::after { width:8px; height:8px; border-radius:1px; background:var(--bg); content:""; }
@keyframes astro-publication-spin { to { transform:rotate(360deg); } }
.astro-publish-dialog { position:fixed; inset:0; width:min(660px,calc(100vw - 32px)); max-width:none; max-height:min(760px,calc(100dvh - 32px)); margin:auto; padding:0; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border)); border-radius:16px; background:var(--bg-card); color:var(--text); color-scheme:dark; box-shadow:0 30px 100px rgba(0,0,0,.72); }
.astro-publish-dialog::backdrop { background:rgba(3,3,7,.76); backdrop-filter:blur(4px); }
.astro-publish-dialog[open] { animation:astro-publish-enter 180ms cubic-bezier(0,0,.2,1); }
@keyframes astro-publish-enter { from { opacity:0; transform:translateY(8px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
.astro-publish-form { display:grid; grid-template-rows:auto minmax(0,1fr) auto; width:100%; max-height:min(760px,calc(100dvh - 32px)); }
.astro-publish-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:22px 24px 18px; border-bottom:1px solid var(--border); }
.astro-publish-dialog-head > div { display:grid; gap:3px; min-width:0; }
.astro-publish-dialog-head .eyebrow { margin:0; }
.astro-publish-dialog-head h2 { margin:0; overflow:hidden; font-size:20px; line-height:1.3; text-overflow:ellipsis; text-wrap:balance; }
.astro-publish-dialog-head p:last-child { margin:0; color:var(--text-3); font-size:12px; }
.astro-publish-dialog-close { display:grid; width:34px; height:34px; flex:0 0 auto; place-items:center; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--text-3); font:inherit; font-size:24px; line-height:1; cursor:pointer; }
.astro-publish-dialog-close:hover { border-color:var(--border); background:var(--bg-hover); color:var(--text); }
.astro-publish-dialog-close:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.astro-publish-dialog-body { display:grid; gap:16px; padding:20px 24px 22px; overflow-y:auto; overscroll-behavior:contain; }
.astro-publish-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.astro-audience-field { align-self:end; }
.astro-publish-form label { display:grid; gap:6px; min-width:0; }
.astro-publish-form .label { color:var(--text-2); font-size:11px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.astro-publish-form select,.astro-publish-form input { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background-color:var(--bg-card-2); color:var(--text); color-scheme:dark; font:inherit; font-size:13px; outline:none; }
.astro-publish-form select { padding-right:36px; cursor:pointer; }
.astro-publish-form select option { background:var(--bg-card-2); color:var(--text); }
.astro-publish-form select:focus-visible,.astro-publish-form input:focus-visible { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.astro-publish-form select:disabled,.astro-publish-form input:disabled { color:var(--text-3); cursor:not-allowed; opacity:.65; }
.astro-publish-form input::placeholder { color:var(--text-3); }
.astro-publish-form small { color:var(--text-3); font-size:11px; line-height:1.45; }
.astro-publish-form code { padding:1px 4px; border:1px solid var(--border); border-radius:4px; background:var(--bg); color:var(--text-2); font-size:10px; }
.astro-target-panel { padding:14px; border:1px solid var(--border); border-radius:10px; background:color-mix(in srgb,var(--bg-card-2) 64%,var(--bg)); }
.astro-target-panel[hidden],.astro-publish-grid[hidden] { display:none; }
.astro-push-proof { display:grid; gap:7px; padding:13px 14px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border)); border-radius:10px; background:var(--accent-soft); color:var(--text-2); font-size:11px; line-height:1.45; }
.astro-push-proof span { display:flex; align-items:center; gap:6px; }
.astro-push-proof span::before { width:5px; height:5px; flex:0 0 auto; border-radius:50%; background:var(--accent); content:""; }
.astro-push-proof strong { color:var(--text); }
.astro-publish-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 24px; border-top:1px solid var(--border); background:color-mix(in srgb,var(--bg-card-2) 58%,var(--bg-card)); }
.astro-publish-actions > div { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.astro-publish-actions .btn { min-width:96px; }
.astro-publish-actions .muted { min-width:0; overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:760px) {
  .astro-publication-result { grid-template-columns:auto minmax(0,1fr); }
  .astro-publication-result-copy p { white-space:normal; }
  .astro-publication-result-actions { grid-column:1 / -1; }
  .astro-publication-result-actions .btn { flex:1; justify-content:center; }
  .astro-publish-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:14px; }
  .astro-publish-form { max-height:calc(100dvh - 20px); }
  .astro-publish-dialog-head { padding:18px 18px 15px; }
  .astro-publish-dialog-body { padding:16px 18px 18px; }
  .astro-publish-grid { grid-template-columns:1fr; }
  .astro-publish-actions { align-items:stretch; flex-direction:column; padding:14px 18px calc(14px + env(safe-area-inset-bottom)); }
  .astro-publish-actions .muted { white-space:normal; }
  .astro-publish-actions > div,.astro-publish-actions .btn { width:100%; }
  .content-site-connected em { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .astro-publication-result-icon { animation-duration:1.8s; }
  .astro-publish-dialog[open] { animation:none; }
}
.content-site-selector { margin:0; }
.content-site-selector select {
  width:auto;
  max-width:260px;
  min-width:130px;
  padding:7px 30px 7px 10px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background-color:var(--bg-card-2);
  color:var(--text);
  font:inherit;
  font-size:12px;
  font-weight:650;
  cursor:pointer;
  outline:none;
}
.content-site-selector select:hover:not(:disabled) { border-color:var(--text-3); }
.content-site-selector select:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.content-site-selector select option { background:var(--bg-card-2); color:var(--text); }
.content-save-status { margin-left:auto; min-width:54px; min-height:18px; align-self:center; color:var(--text-3); font-size:11px; font-weight:650; text-align:right; white-space:nowrap; }
.content-toolbar-score { flex:0 0 auto; min-width:82px; margin-left:12px; padding-left:12px; border-left:1px solid var(--border); display:flex; flex-direction:column; align-items:flex-end; justify-content:center; line-height:1.05; }
.content-toolbar-score span { font-size:18px; font-weight:800; letter-spacing:-.02em; }
.content-toolbar-score small { margin-top:3px; color:var(--text-3); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.content-notification-line { display:flex; align-items:center; gap:14px; margin:-8px 0 14px; padding:0 2px; min-height:18px; overflow-x:auto; color:var(--text-2); font-size:12px; white-space:nowrap; scrollbar-width:none; }
.content-notification-line::-webkit-scrollbar { display:none; }
.content-notification-line span { display:inline-flex; align-items:center; gap:4px; }
.content-notification-line .success { color:var(--good); }
.content-notification-line .warning { color:var(--amber); }
.content-notification-line .error { color:var(--red); }
.content-block-format { display:inline-flex; align-items:center; flex:0 0 auto; }
.content-block-format select { width:auto; min-width:82px; padding:6px 26px 6px 8px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-card-2); color:var(--text); font:inherit; font-size:12px; outline:none; }
.content-block-format select:hover:not(:disabled) { border-color:var(--text-3); }
.content-block-format select:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.content-block-format select:disabled { color:var(--text-3); cursor:not-allowed; opacity:.72; }
.content-block-format select option { background:var(--bg-card-2); color:var(--text); }
.content-link-editor { display:inline-flex; align-items:center; gap:5px; flex:0 1 430px; min-width:260px; }
.content-link-editor[hidden] { display:none; }
.content-link-editor input { min-width:150px; width:220px; padding:6px 8px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-card-2); color:var(--text); font:inherit; font-size:12px; }
.content-link-editor input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); outline:none; }
.adherence-section-link { appearance:none; margin:0; padding:0; border:0; background:none; color:var(--accent); font:inherit; font-weight:700; text-align:left; cursor:pointer; }
.adherence-section-link:hover { text-decoration:underline; text-underline-offset:3px; }
.adherence-section-link:focus-visible { border-radius:4px; outline:2px solid var(--accent); outline-offset:3px; }
#preview-frame { display:block; width:100%; min-height:560px; border:0; background:var(--bg-sunken); overflow:hidden; overflow-anchor:none; }
.custom-image-dialog { width:min(780px,calc(100vw - 32px)); }
.image-generation-dialog { width:min(900px,calc(100vw - 24px)); max-height:min(860px,calc(100vh - 24px)); }
.image-generation-dialog .custom-image-form { display:flex; max-height:inherit; flex-direction:column; }
.image-generation-dialog .custom-image-body { overflow-y:auto; }
.gap-fill-dialog { width:min(820px,calc(100vw - 32px)); }
.max-score-dialog { width:min(620px,calc(100vw - 32px)); }
.max-score-dialog form { margin:0; }
.max-score-dialog .site-search-head { justify-content:flex-end; padding:12px 14px 0; border-bottom:0; }
.max-score-body { display:flex; flex-direction:column; gap:14px; padding:12px 20px 20px; }
.max-score-body > p { margin:0; color:var(--text-2); font-size:12px; line-height:1.55; }
.max-score-current { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 14px; border:1px solid var(--border); border-radius:10px; background:var(--bg-card-2); }
.max-score-current span { color:var(--text-3); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.max-score-current strong { color:var(--text); font-size:17px; }
.max-score-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.max-score-fields label { display:flex; flex-direction:column; gap:7px; color:var(--text); font-size:12px; font-weight:750; }
.max-score-fields input { width:100%; box-sizing:border-box; padding:11px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card-2); color:var(--text); font:inherit; font-size:15px; font-weight:700; }
.max-score-fields input:focus { border-color:var(--accent); outline:0; box-shadow:0 0 0 3px var(--accent-soft); }
.max-score-guidance { min-height:19px; padding:10px 12px; border-radius:8px; background:var(--accent-soft); color:var(--text-2)!important; }
.max-score-actions { display:flex; justify-content:flex-end; gap:8px; padding-top:2px; }
.max-version-dialog { width:min(720px,calc(100vw - 32px)); }
.max-version-list { display:flex; max-height:min(56vh,520px); flex-direction:column; gap:8px; overflow:auto; padding:18px; }
.max-version-row { display:grid; grid-template-columns:minmax(105px,.7fr) minmax(280px,2fr) auto; gap:14px; align-items:center; padding:14px; border:1px solid var(--border); border-radius:11px; background:var(--bg-card-2); }
.max-version-row.current { border-color:color-mix(in srgb,var(--success) 55%,var(--border)); background:color-mix(in srgb,var(--success) 7%,var(--bg-card-2)); }
.max-version-name { display:flex; align-items:center; gap:8px; }
.max-version-name strong { white-space:nowrap; font-size:13px; }
.max-version-name .pill { padding:3px 7px; font-size:9px; }
.max-version-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.max-version-metrics span { display:flex; flex-direction:column; gap:3px; color:var(--text-3); font-size:10px; font-weight:650; text-transform:uppercase; letter-spacing:.04em; }
.max-version-metrics b { color:var(--text); font-size:15px; letter-spacing:-.01em; }
.max-version-row form,.max-version-actions form { margin:0; }
.max-version-actions { display:flex; justify-content:flex-end; gap:8px; padding:14px 18px 18px; border-top:1px solid var(--border); }
.bold-options-dialog { width:min(620px,calc(100vw - 32px)); }
.bold-options-body { display:flex; flex-direction:column; gap:16px; padding:20px; }
.bold-count-field { display:flex; flex-direction:column; gap:7px; color:var(--text); font-size:13px; font-weight:750; }
.bold-count-field input { width:150px; box-sizing:border-box; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card-2); color:var(--text); font:inherit; font-size:14px; }
.bold-count-field small { color:var(--text-3); font-size:11px; font-weight:500; line-height:1.45; }
.bold-source-options { display:grid; gap:8px; }
.bold-source-option { display:grid; grid-template-columns:18px minmax(0,1fr); gap:10px; align-items:start; padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--bg-card-2); cursor:pointer; }
.bold-source-option:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); }
.bold-source-option input { margin:3px 0 0; accent-color:var(--accent); }
.bold-source-option > span { display:flex; flex-direction:column; gap:3px; }
.bold-source-option strong { color:var(--text); font-size:13px; }
.bold-source-option small { color:var(--text-3); font-size:11px; line-height:1.4; }
.bold-options-summary { min-height:18px; margin:0; color:var(--text-2); font-size:12px; line-height:1.45; }
.bold-action-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.bold-action-options label { display:flex; align-items:center; gap:9px; padding:11px 12px; border:1px solid var(--border); border-radius:9px; background:var(--bg-card-2); color:var(--text); font-size:13px; font-weight:750; cursor:pointer; }
.bold-action-options label:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); }
.bold-action-options input { margin:0; accent-color:var(--accent); }
.carbon-map-dialog {
  width:min(672px,calc(100vw - 32px));
  max-height:min(720px,calc(100vh - 32px));
  overflow:hidden;
  border:1px solid var(--cds-border-subtle,var(--border));
  border-radius:0;
  background:var(--cds-layer,var(--bg-card));
  box-shadow:0 24px 80px rgba(0,0,0,.72);
  color:var(--cds-text-primary,var(--text));
  font-family:"IBM Plex Sans","Inter",ui-sans-serif,-apple-system,"Segoe UI",sans-serif;
}
.carbon-map-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:none; }
.carbon-map-dialog form { display:grid; grid-template-rows:auto minmax(0,1fr) auto; max-height:min(720px,calc(100vh - 32px)); }
.carbon-map-dialog .site-search-head { position:relative; min-height:96px; box-sizing:border-box; padding:16px 64px 16px 16px; border-bottom:1px solid var(--cds-border-subtle,var(--border)); }
.carbon-map-dialog .site-search-head > div { gap:6px; max-width:80%; }
.carbon-map-dialog .site-search-head strong { color:var(--cds-text-primary,var(--text)); font-size:20px; font-weight:400; line-height:1.3; letter-spacing:0; }
.carbon-map-dialog .site-search-head span { color:var(--cds-text-secondary,var(--text-2)); font-size:14px; font-weight:400; line-height:1.43; }
.carbon-map-dialog .site-search-head > button { position:absolute; top:0; right:0; display:grid; width:48px; height:48px; padding:0; place-items:center; color:var(--cds-icon-primary,var(--text)); font-size:24px; font-weight:300; }
.carbon-map-dialog .site-search-head > button:hover { background:var(--cds-layer-hover,var(--bg-hover)); }
.carbon-map-dialog .site-search-head > button:focus-visible { outline:2px solid var(--cds-focus,#0f62fe); outline-offset:-2px; }
.carbon-map-body { display:flex; min-height:0; overflow-y:auto; flex-direction:column; gap:24px; padding:24px 16px 32px; }
.carbon-map-body .bold-count-field { gap:8px; color:var(--cds-text-secondary,var(--text-2)); font-size:12px; font-weight:400; line-height:1.34; }
.carbon-map-body .bold-count-field input { width:100%; height:48px; box-sizing:border-box; padding:0 16px; border:0; border-bottom:1px solid var(--cds-border-strong,var(--text-3)); border-radius:0; background:var(--cds-field,var(--bg-card-2)); color:var(--cds-text-primary,var(--text)); font:inherit; font-size:14px; font-weight:400; }
.carbon-map-body .bold-count-field input:hover { background:var(--cds-field-hover,var(--bg-hover)); }
.carbon-map-body .bold-count-field input:focus { outline:2px solid var(--cds-focus,#0f62fe); outline-offset:-2px; }
.carbon-map-body .bold-count-field small { margin-top:-4px; color:var(--cds-text-helper,var(--text-3)); font-size:12px; font-weight:400; line-height:1.34; }
.map-address-field input { width:100%; }
.carbon-map-schema-action { align-self:flex-start; min-height:40px; padding:0 16px; border:1px solid var(--cds-button-secondary,var(--text-2)); background:transparent; color:var(--cds-text-primary,var(--text)); font:inherit; font-size:14px; font-weight:400; cursor:pointer; }
.carbon-map-schema-action:hover { background:var(--cds-layer-hover,var(--bg-hover)); }
.carbon-map-schema-action:focus-visible { outline:2px solid var(--cds-focus,#0f62fe); outline-offset:-2px; }
.map-size-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.carbon-map-note { max-width:80%; margin:0; color:var(--cds-text-secondary,var(--text-2)); font-size:14px; font-weight:400; line-height:1.43; }
.content-site-picker { display:flex; min-height:0; flex-direction:column; gap:8px; }
.content-site-picker > label { color:var(--cds-text-secondary,var(--text-2)); font-size:12px; line-height:1.34; }
.content-site-picker > input { width:100%; height:44px; box-sizing:border-box; padding:0 14px; border:0; border-bottom:1px solid var(--cds-border-strong,var(--text-3)); border-radius:0; background:var(--cds-field,var(--bg-card-2)); color:var(--cds-text-primary,var(--text)); font:inherit; font-size:14px; }
.content-site-picker > input:focus { outline:2px solid var(--cds-focus,#0f62fe); outline-offset:-2px; }
.content-site-list { display:flex; flex-direction:column; max-height:min(340px,42vh); overflow-y:auto; border:1px solid var(--cds-border-subtle,var(--border)); }
.content-site-option { display:grid; grid-template-columns:16px minmax(0,1fr) auto; align-items:center; gap:12px; padding:10px 14px; border-bottom:1px solid var(--cds-border-subtle,var(--border)); color:var(--cds-text-primary,var(--text)); cursor:pointer; }
.content-site-option:last-of-type { border-bottom:0; }
.content-site-option[hidden] { display:none; }
.content-site-option:hover { background:var(--cds-layer-hover,var(--bg-hover)); }
.content-site-option.is-selected { background:var(--accent-soft,rgba(15,98,254,.12)); box-shadow:inset 3px 0 0 var(--cds-button-primary,#0f62fe); }
.content-site-option:focus-within { outline:2px solid var(--cds-focus,#0f62fe); outline-offset:-2px; }
.content-site-option input { margin:0; accent-color:var(--cds-button-primary,#0f62fe); }
.content-site-option span { display:flex; min-width:0; flex-direction:column; gap:2px; }
.content-site-option strong { overflow:hidden; font-size:14px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.content-site-option em { overflow:hidden; color:var(--cds-text-secondary,var(--text-3)); font-size:12px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.content-site-option small { padding:2px 8px; border-radius:999px; background:var(--bg-card-2); color:var(--cds-text-secondary,var(--text-2)); font-size:11px; }
.content-site-empty { margin:0; padding:18px 14px; color:var(--cds-text-secondary,var(--text-3)); font-size:13px; }
.content-site-count { margin:0; color:var(--cds-text-helper,var(--text-3)); font-size:12px; }
.content-site-add { display:flex; flex-direction:column; gap:8px; margin-top:16px; }
.content-site-add > label { color:var(--cds-text-secondary,var(--text-2)); font-size:12px; line-height:1.34; }
.content-site-add-row { display:flex; gap:8px; }
.content-site-add-row input { flex:1 1 auto; min-width:0; height:40px; box-sizing:border-box; padding:0 14px; border:0; border-bottom:1px solid var(--cds-border-strong,var(--text-3)); border-radius:0; background:var(--cds-field,var(--bg-card-2)); color:var(--cds-text-primary,var(--text)); font:inherit; font-size:14px; }
.content-site-add-row input:focus { outline:2px solid var(--cds-focus,#0f62fe); outline-offset:-2px; }
.content-site-add-row button { flex:0 0 auto; height:40px; padding:0 16px; border:1px solid var(--cds-button-primary,#0f62fe); border-radius:0; background:transparent; color:var(--cds-button-primary,#0f62fe); font:inherit; font-size:14px; cursor:pointer; }
.content-site-add-row button:hover:not(:disabled) { background:var(--cds-button-primary,#0f62fe); color:#fff; }
.content-site-add-row button:disabled { opacity:.5; cursor:not-allowed; }
.carbon-map-footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--cds-border-subtle,var(--border)); }
.carbon-map-footer button { min-height:48px; padding:0 16px; border:0; border-right:1px solid var(--cds-border-subtle,var(--border)); border-radius:0; background:var(--cds-button-secondary,#393939); color:var(--cds-text-on-color,#fff); font:inherit; font-size:14px; font-weight:400; text-align:left; cursor:pointer; }
.carbon-map-footer button:hover { background:var(--cds-button-secondary-hover,#4c4c4c); }
.carbon-map-footer button.primary { border-right:0; background:var(--cds-button-primary,#0f62fe); }
.carbon-map-footer button.primary:hover { background:var(--cds-button-primary-hover,#0353e9); }
.carbon-map-footer button:focus-visible { position:relative; outline:2px solid var(--cds-focus,#0f62fe); outline-offset:-2px; }
@media (max-width:700px) {
  .carbon-map-dialog { width:calc(100vw - 16px); max-height:calc(100vh - 16px); }
  .carbon-map-dialog form { max-height:calc(100vh - 16px); }
  .carbon-map-dialog .site-search-head > div,.carbon-map-note { max-width:100%; }
  .map-size-fields { grid-template-columns:1fr; }
}
.gap-fill-body { display:flex; flex-direction:column; gap:16px; padding:20px; }
.gap-fill-body > p { margin:0; }
.gap-fill-targets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:min(52vh,520px); overflow:auto; padding-right:3px; }
.gap-fill-target { display:grid; grid-template-columns:18px minmax(0,1fr); gap:10px; align-items:start; padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--bg-card-2); cursor:pointer; }
.gap-fill-target:hover:not(.is-manual) { border-color:var(--text-3); }
.gap-fill-target:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); }
.gap-fill-target.is-manual { opacity:.48; cursor:not-allowed; }
.gap-fill-target input { margin:2px 0 0; accent-color:var(--accent); }
.gap-fill-target-copy { display:flex; min-width:0; flex-direction:column; gap:3px; }
.gap-fill-target-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.gap-fill-target-copy strong { color:var(--text); font-size:14px; }
.gap-fill-target-copy .gap-fill-needed { flex:0 0 auto; padding:4px 7px; border-radius:7px; background:color-mix(in srgb,var(--accent) 20%,transparent); color:var(--accent); font-size:13px; font-weight:850; letter-spacing:-.01em; }
.gap-fill-target-copy > span:not(.gap-fill-target-title),.gap-fill-target-copy small { color:var(--text-2); font-size:12px; line-height:1.45; }
.gap-fill-target-copy small { color:var(--text-3); }
.gap-fill-evidence-target { grid-column:1/-1; }
.gap-fill-evidence-target.has-evidence { border-color:var(--accent); background:var(--accent-soft); }
.gap-fill-evidence-field { grid-column:1/-1; display:flex; flex-direction:column; gap:6px; margin-top:3px; padding-top:11px; border-top:1px solid var(--border); color:var(--text-2); font-size:12px; font-weight:700; }
.gap-fill-evidence-field input { box-sizing:border-box; width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card); color:var(--text); font:inherit; }
.gap-fill-evidence-field input:focus { border-color:var(--accent); outline:0; box-shadow:0 0 0 3px var(--accent-soft); }
.gap-fill-evidence-field small { color:var(--text-3); font-size:11px; font-weight:500; line-height:1.4; }
.gap-fill-budget { display:grid; grid-template-columns:minmax(170px,220px) minmax(0,1fr); gap:16px; align-items:end; padding-top:14px; border-top:1px solid var(--border); }
.gap-fill-budget label { display:flex; flex-direction:column; gap:7px; color:var(--text-2); font-size:12px; font-weight:700; }
.gap-fill-budget input { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card-2); color:var(--text); font:inherit; }
.gap-fill-budget > div { display:flex; flex-direction:column; gap:4px; padding-bottom:2px; }
.gap-fill-budget > div strong { color:var(--text); font-size:12px; }
.gap-fill-budget > div span,.gap-fill-warning { color:var(--text-3); font-size:11px; line-height:1.45; }
.gap-fill-warning { min-height:16px; }
@media (max-width:620px) {
  .max-score-fields { grid-template-columns:1fr; }
  .max-score-actions { flex-wrap:wrap; }
}
.custom-image-form { margin:0; }
.custom-image-body { display:flex; flex-direction:column; gap:14px; padding:20px; }
.custom-image-body label { display:flex; flex-direction:column; gap:7px; color:var(--text-2); font-size:12px; font-weight:650; }
.custom-image-body textarea,.custom-image-body input { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card-2); color:var(--text); font:inherit; font-size:13px; }
.custom-image-body textarea { resize:vertical; min-height:110px; }
.custom-image-body textarea:focus,.custom-image-body input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.meta-edit-heading { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.meta-edit-heading .content-save-status { margin-left:auto; }
.meta-copy-all-btn { flex:0 0 auto; padding:8px 14px; font-size:12px; }
.meta-edit-row { display:flex; align-items:center; gap:8px; width:100%; }
.meta-edit-field { flex:1 1 auto; min-width:0; box-sizing:border-box; padding:9px 10px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card-2); color:var(--text); font:inherit; line-height:1.4; }
textarea.meta-edit-field { resize:vertical; min-height:58px; }
.meta-edit-field:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.meta-char-count { flex:0 0 auto; font-size:11px; white-space:nowrap; }
.custom-image-body p { margin:0; font-size:12px; line-height:1.5; }
.custom-image-body details { border:1px solid var(--border); border-radius:8px; padding:10px 12px; }
.custom-image-body details summary { cursor:pointer; font-weight:650; }
.custom-image-body details input { margin-top:8px; }
.custom-image-body .image-option-check { gap:6px; }
.custom-image-body .image-option-check > span:first-child { display:flex; align-items:center; gap:8px; color:var(--text); }
.custom-image-body .image-option-check input[type="checkbox"] { width:auto; }
.image-metadata-panel > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.image-metadata-panel > p { margin-top:10px; }
.image-metadata-groups { display:grid; gap:10px; margin-top:12px; transition:opacity .15s ease; }
.image-metadata-groups.is-disabled { opacity:.46; }
.image-metadata-group { border-top:1px solid var(--border); padding-top:10px; }
.image-metadata-group:first-child { border-top:0; padding-top:0; }
.image-metadata-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:10px 0 2px 26px; }
.image-metadata-fields .span-2 { grid-column:1/-1; }
.custom-image-body .image-metadata-fields input { margin-top:0; }
.metadata-technical-note { margin-top:10px!important; padding-top:10px; border-top:1px solid var(--border); }
.image-alt-plan { padding:14px; border:1px solid var(--border); border-radius:10px; background:color-mix(in srgb,var(--bg-card-2) 72%,transparent); }
.image-alt-plan-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.image-alt-plan-head strong { color:var(--text); font-size:13px; }
.image-alt-plan > p { margin-top:5px; }
.image-generation-alt-list { display:grid; max-height:min(44vh,460px); gap:8px; margin-top:12px; overflow-y:auto; padding-right:4px; counter-reset:image-alt-row; }
.image-generation-alt-row { display:grid!important; grid-template-columns:58px minmax(0,1fr); align-items:center; gap:10px!important; counter-increment:image-alt-row; }
.image-generation-alt-row::before { content:"Image " counter(image-alt-row); color:var(--text-3); font-size:11px; font-weight:750; }
.image-generation-alt-row[hidden] { display:none!important; }
.image-reference-panel { display:grid; gap:12px; padding:14px; border:1px solid var(--border); border-radius:10px; background:var(--bg-card-2); }
.image-reference-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.image-reference-heading > div { display:grid; gap:3px; }
.image-reference-heading strong { color:var(--text); font-size:13px; }
.image-reference-heading span { color:var(--text-3); font-size:11px; line-height:1.4; }
.image-reference-heading a { color:var(--accent); font-size:11px; font-weight:600; white-space:nowrap; }
.image-reference-panel > label { display:grid; gap:6px; color:var(--text); font-size:12px; font-weight:600; }
.image-reference-panel > label select { width:100%; min-height:42px; padding:8px 12px; border:1px solid var(--border); border-radius:0; background:var(--bg); color:var(--text); }
.image-reference-panel > label small { color:var(--text-3); font-weight:400; line-height:1.45; }
.inline-reference-create { border-top:1px solid var(--border); }
.inline-reference-create summary { padding-top:12px; cursor:pointer; color:var(--text); font-size:12px; font-weight:600; }
.inline-reference-fields { display:grid; gap:10px; padding-top:12px; }
.inline-reference-fields > label { display:grid; gap:5px; color:var(--text); font-size:11px; font-weight:600; }
.inline-reference-fields input,.inline-reference-fields select { width:100%; min-height:40px; padding:8px 10px; border:1px solid var(--border); border-radius:0; background:var(--bg); color:var(--text); }
.image-reference-empty { display:grid; gap:3px; padding:12px; border:1px dashed var(--border); color:var(--text-3); font-size:11px; }
.image-reference-empty strong { color:var(--text); font-size:12px; }
.image-branding-panel { padding:13px 14px; border:1px solid var(--border); border-radius:10px; background:var(--bg-card-2); }
.image-branding-panel:has(#brand-overlay-enabled:checked) { border-color:color-mix(in srgb,var(--accent) 48%,var(--border)); background:color-mix(in srgb,var(--accent) 7%,var(--bg-card-2)); }
.image-branding-toggle { cursor:pointer; }
#image-branding-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; padding-top:14px; border-top:1px solid var(--border); }
#image-branding-fields[hidden] { display:none!important; }
@media(max-width:640px) { #image-branding-fields { grid-template-columns:1fr; } }
.custom-image-actions { display:flex; align-items:center; justify-content:flex-start; gap:8px; }
.advanced-output { padding:15px 18px; }
.advanced-output > summary { cursor:pointer; color:var(--text-2); font-size:12px; font-weight:650; }
.advanced-output textarea { margin-top:12px; }
.credential-security-note { color:var(--text-3); font-size:11px; }

/* In-app tutorial library. Video bytes come from R2; only metadata is loaded
   until the viewer presses play. */
.tutorial-page-intro { max-width:620px; margin-top:7px; }
.tutorial-library-section { display:grid; gap:14px; margin-top:30px; max-width:920px; }
.tutorial-section-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; }
.tutorial-section-heading h2 { margin-top:2px; font-size:19px; letter-spacing:-.018em; }
.tutorial-count { color:var(--text-3); font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.tutorial-post-editor { max-width:920px; margin-bottom:28px; scroll-margin-top:20px; }
.tutorial-editor-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; }
.tutorial-editor-summary h2 { margin:2px 0 5px; font-size:18px; letter-spacing:-.015em; }
.tutorial-editor-summary .muted { font-size:12px; }
.tutorial-editor-toggle { flex:0 0 auto; pointer-events:none; }
.tutorial-post-editor[open] .tutorial-editor-summary { margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid var(--border); }
.tutorial-markdown-input { min-height:360px; resize:vertical; font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace!important; font-size:12px!important; line-height:1.65; tab-size:2; }
.tutorial-editor-actions { display:flex; align-items:center; gap:12px; }
.tutorial-editor-actions .muted { font-size:11px; }
.tutorial-post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tutorial-post-card { display:flex; min-height:210px; flex-direction:column; justify-content:space-between; gap:24px; }
.tutorial-post-card-copy { display:grid; gap:10px; }
.tutorial-post-kicker { display:flex; align-items:center; gap:10px; color:var(--text-3); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.tutorial-post-kicker span { color:var(--accent); }
.tutorial-post-card h3 { font-size:18px; line-height:1.28; letter-spacing:-.018em; text-wrap:balance; }
.tutorial-post-card h3 a { color:var(--text); text-decoration:none; }
.tutorial-post-card h3 a:hover { color:var(--accent-text); }
.tutorial-post-card p { color:var(--text-2); font-size:13px; line-height:1.6; text-wrap:pretty; }
.tutorial-post-card-actions { display:flex; align-items:center; gap:8px; }
.tutorial-grid { display:grid; grid-template-columns:minmax(0,920px); gap:20px; }
.tutorial-card { padding:0; overflow:hidden; }
.tutorial-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 22px; }
.tutorial-heading h2 { font-size:18px; letter-spacing:-.015em; }
.tutorial-heading p { color:var(--text-2); margin-top:5px; max-width:720px; }
.tutorial-video { display:block; width:100%; aspect-ratio:16/9; background:#000; border-block:1px solid var(--border); }
.tutorial-controls { display:flex; align-items:center; gap:6px; padding:12px 16px; color:var(--text-3); font-size:11px; }
.tutorial-speed { border:1px solid var(--border); border-radius:999px; background:var(--bg-card-2); color:var(--text-2); font:inherit; font-weight:650; padding:4px 9px; cursor:pointer; }
.tutorial-speed:hover { color:var(--text); border-color:var(--text-3); }
.tutorial-speed.active { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 45%,transparent); background:var(--accent-soft); }
.tutorial-meta { margin-left:auto; }
.tutorial-upload-card { max-width:920px; }
.tutorial-upload-actions { display:flex; align-items:center; gap:12px; }
.tutorial-progress { height:7px; overflow:hidden; border-radius:999px; background:var(--bg-card-2); }
.tutorial-progress span { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--accent-2),#67e8f9); transition:width .15s; }
.tutorial-pending { display:flex; align-items:center; gap:10px; padding:18px 22px; border-top:1px solid var(--border); color:var(--text-2); }

.tutorial-article-shell { width:min(100%,820px); margin:0 auto; }
.tutorial-back-link { display:inline-flex; margin-bottom:28px; color:var(--text-3); font-size:12px; font-weight:650; text-decoration:none; }
.tutorial-back-link:hover { color:var(--text); }
.tutorial-article-header { padding-bottom:30px; border-bottom:1px solid var(--border); }
.tutorial-article-header h1 { max-width:780px; margin:7px 0 14px; font-size:clamp(30px,5vw,48px); line-height:1.06; letter-spacing:-.045em; text-wrap:balance; }
.tutorial-article-deck { max-width:700px; color:var(--text); font-size:17px; line-height:1.6; text-wrap:pretty; }
.tutorial-article-meta { margin-top:18px; color:var(--text-3); font-size:11px; font-weight:650; letter-spacing:.03em; text-transform:uppercase; }
.tutorial-article-body { padding:32px 0 20px; color:var(--text); font-size:17px; line-height:1.78; }
.tutorial-article-body > :first-child { margin-top:0; }
.tutorial-article-body h2 { margin:44px 0 14px; color:var(--text); font-size:24px; line-height:1.24; letter-spacing:-.025em; text-wrap:balance; }
.tutorial-article-body h3 { margin:30px 0 10px; color:var(--text); font-size:18px; line-height:1.35; }
.tutorial-article-body p { margin:0 0 18px; text-wrap:pretty; }
.tutorial-article-body strong { color:var(--text); }
.tutorial-article-body a { color:var(--text); text-decoration-color:color-mix(in srgb,var(--text) 50%,transparent); text-underline-offset:3px; }
.tutorial-article-body a:hover { color:var(--text); text-decoration-color:currentColor; }
.tutorial-article-body ul,.tutorial-article-body ol { display:grid; gap:7px; margin:0 0 22px; padding-left:24px; }
.tutorial-article-body li::marker { color:var(--accent); font-weight:700; }
.tutorial-article-body blockquote { margin:24px 0; padding:3px 0 3px 20px; border-left:3px solid var(--accent); color:var(--text); font-size:17px; line-height:1.65; }
.tutorial-article-body blockquote p { margin:0; }
.tutorial-article-body table { width:100%; margin:22px 0 28px; border-collapse:collapse; color:var(--text); font-size:17px; line-height:1.55; }
.tutorial-article-body th,.tutorial-article-body td { padding:12px 13px; border:1px solid var(--border); color:var(--text); text-align:left; vertical-align:top; }
.tutorial-article-body th { background:var(--bg-card-2); font-size:17px; letter-spacing:.025em; }
.tutorial-article-body hr { height:1px; margin:36px 0; border:0; background:var(--border); }
.tutorial-article-body code { padding:2px 5px; border:1px solid var(--border); border-radius:5px; background:var(--bg-card-2); color:var(--accent-text); font-size:.9em; }
.tutorial-article-footer { margin-top:24px; padding-top:24px; border-top:1px solid var(--border); }

@media(max-width:760px) {
  .tutorial-post-grid { grid-template-columns:1fr; }
  .tutorial-post-card { min-height:0; }
  .tutorial-editor-summary { align-items:flex-start; flex-direction:column; }
  .tutorial-editor-actions { align-items:flex-start; flex-direction:column; }
  .tutorial-article-body { overflow-x:auto; }
  .tutorial-article-body table { min-width:620px; }
}

.auth-page { min-height:100%; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent-2) 12%,transparent),transparent 38%),var(--bg); }
.auth-shell { width:min(100%,420px); }
.auth-brand { margin:0 0 18px 4px; }
.auth-card { background:color-mix(in srgb,var(--bg-card) 94%,transparent); border:1px solid var(--border); border-radius:18px; padding:30px; box-shadow:0 28px 80px rgba(0,0,0,.35); }
.auth-card > .muted { margin-bottom:20px; }

.analysis-form-shell {
  --cds-background:#161616;
  --cds-layer-01:#262626;
  --cds-layer-hover-01:#333333;
  --cds-border-subtle-01:#393939;
  --cds-border-strong-01:#6f6f6f;
  --cds-text-primary:#f4f4f4;
  --cds-text-secondary:#c6c6c6;
  --cds-text-helper:#a8a8a8;
  --cds-interactive:#4589ff;
  --cds-interactive-hover:#0f62fe;
  --cds-focus:#ffffff;
  --cds-background-inverse:#f4f4f4;
  --cds-text-inverse:#161616;
  --cds-layer-selected-inverse:#f4f4f4;
  --cds-border-inverse:#f4f4f4;
  --analysis-text:#f4f4f4;
  --analysis-text-size:16px;
  width:100%;
  max-width:960px;
  padding:32px;
  border-color:var(--cds-border-subtle-01);
  border-radius:0;
  background:var(--cds-background);
}
.cds-analysis-form .form-stack { gap:24px; color:var(--analysis-text); font-size:var(--analysis-text-size); font-weight:500; }
.cds-analysis-form .form-stack > label,.cds-analysis-form .location-field,.cds-analysis-form .location-field > label,.cds-analysis-form .analysis-icon-field > legend { gap:8px; color:var(--analysis-text); font-size:var(--analysis-text-size); font-weight:500; line-height:1.25; }
.cds-analysis-form .form-stack .muted { color:inherit; }
.cds-analysis-form .form-stack input,.cds-analysis-form .form-stack textarea { box-sizing:border-box; border-color:var(--cds-border-subtle-01); border-radius:0; background:var(--cds-layer-01); color:var(--analysis-text); font-size:var(--analysis-text-size); font-weight:500; }
.cds-analysis-form .form-stack input::placeholder,.cds-analysis-form .form-stack textarea::placeholder { color:var(--analysis-text); opacity:1; }
.cds-analysis-form .form-stack input[type="text"],.cds-analysis-form .form-stack input[type="url"],.cds-analysis-form .form-stack input[type="number"] { height:48px; min-height:48px; padding:0 16px; }
.cds-analysis-form .form-stack textarea { min-height:96px; padding:16px; line-height:1.5; }
.cds-analysis-form .form-stack input:hover,.cds-analysis-form .form-stack textarea:hover { background:var(--cds-layer-hover-01); }
.cds-analysis-form .form-stack input:focus,.cds-analysis-form .form-stack textarea:focus { border-color:var(--cds-focus); box-shadow:inset 0 0 0 1px var(--cds-focus); }
.core-fields { display:grid; grid-template-columns:repeat(16,minmax(0,1fr)); align-items:start; column-gap:24px; row-gap:24px; }
.core-fields .analysis-field { display:grid; min-width:0; grid-template-rows:20px 48px; row-gap:8px; color:var(--analysis-text); font-size:var(--analysis-text-size); font-weight:500; line-height:1.25; }
.core-fields .analysis-field > label,.core-fields .analysis-field > .analysis-field-title { display:block; min-width:0; margin:0; padding:0; color:inherit; font:inherit; line-height:20px; }
.analysis-keyword-field,.location-field { grid-column:span 8; }
.analysis-existing-page-field { grid-column:span 8; }
.analysis-national-field { grid-column:span 8; align-self:end; }
.core-fields .span-2 { grid-column:1/-1; }
.analysis-icon-field { min-width:0; margin:0; padding:0; border:0; }
.claude-model-field[hidden] { display:none; }
.analysis-icon-field > legend { margin:0 0 8px; padding:0; color:var(--analysis-text,var(--text)); font-size:var(--analysis-text-size,16px); font-weight:500; line-height:1.25; }
.device-field { grid-column:span 8; align-self:start; }
.analysis-control-row { display:grid; grid-template-columns:repeat(16,minmax(0,1fr)); align-items:start; column-gap:16px; row-gap:16px; padding:24px 0; border-block:1px solid var(--cds-border-subtle-01); }
.optimisation-field { grid-column:span 8; }
.language-field { grid-column:span 3; }
.model-field { grid-column:span 8; }
.analysis-control-row:has(.model-field):not(:has(.language-field)) .device-field { grid-column:span 3; }
.analysis-control-row:has(.model-field):not(:has(.language-field)) .model-field { grid-column:span 5; }
.analysis-control-row:has(.language-field):has(.model-field) .optimisation-field { grid-column:span 7; }
.analysis-control-row:has(.language-field):has(.model-field) .device-field,.analysis-control-row:has(.language-field):has(.model-field) .language-field { grid-column:span 2; }
.analysis-control-row:has(.language-field):has(.model-field) .model-field { grid-column:span 5; }
.analysis-icon-group { display:flex; align-items:center; gap:1px; }
.optimisation-field .analysis-icon-group { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.optimisation-field .analysis-icon-choice { width:100%; min-width:0; }
.analysis-icon-choice { position:relative; display:inline-flex; min-width:104px; min-height:48px; box-sizing:border-box; align-items:center; justify-content:center; gap:8px; padding:8px 12px; border:1px solid var(--cds-border-subtle-01,var(--border)); border-radius:0; background:var(--cds-layer-01,var(--bg-card-2)); color:var(--analysis-text,var(--text)); cursor:pointer; font-size:var(--analysis-text-size,16px); font-weight:500; line-height:1.25; transition:background-color 110ms ease-out,color 110ms ease-out; }
.analysis-icon-choice.icon-only,.analysis-icon-choice.language-choice { min-width:48px; width:48px; padding:8px; }
.analysis-icon-choice:hover { background:var(--cds-layer-hover-01,var(--bg-hover)); color:var(--cds-text-primary,var(--text)); }
.analysis-icon-choice:has(input:checked) { z-index:1; border-color:var(--cds-border-inverse); background:var(--cds-layer-selected-inverse); color:var(--cds-text-inverse); box-shadow:inset 0 0 0 1px var(--cds-border-inverse); }
.analysis-icon-choice:focus-within { z-index:2; outline:2px solid var(--cds-focus,var(--accent)); outline-offset:2px; }
.analysis-icon-choice input.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.analysis-choice-icon { width:18px; height:18px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.analysis-choice-tooltip { position:absolute; z-index:50; bottom:calc(100% + 8px); left:50%; width:max-content; max-width:240px; padding:12px 16px; border:1px solid var(--cds-border-strong-01); border-radius:0; background:var(--cds-layer-01); box-shadow:0 4px 12px rgba(0,0,0,.35); color:var(--analysis-text,#f4f4f4); font-size:var(--analysis-text-size,16px); font-weight:500; line-height:1.5; text-align:left; opacity:0; pointer-events:none; transform:translate(-50%,4px); transition:opacity 100ms ease-out,transform 100ms ease-out; }
.analysis-choice-tooltip::after { content:""; position:absolute; top:100%; left:50%; border:6px solid transparent; border-top-color:var(--cds-layer-01); transform:translateX(-50%); }
.analysis-choice-tooltip.formal { width:min(380px,calc(100vw - 48px)); max-width:380px; padding:12px 16px; font-weight:400; }
.analysis-icon-choice:hover .analysis-choice-tooltip,.analysis-icon-choice:focus-within .analysis-choice-tooltip { opacity:1; transform:translate(-50%,0); }
.optimisation-field .analysis-icon-choice:first-child .formal { left:0; transform:translate(0,4px); }
.optimisation-field .analysis-icon-choice:first-child:hover .formal,.optimisation-field .analysis-icon-choice:first-child:focus-within .formal { transform:translate(0,0); }
.optimisation-field .analysis-icon-choice:first-child .formal::after { left:52px; transform:none; }
.optimisation-field .analysis-icon-choice:last-child .formal { right:0; left:auto; transform:translate(0,4px); }
.optimisation-field .analysis-icon-choice:last-child:hover .formal,.optimisation-field .analysis-icon-choice:last-child:focus-within .formal { transform:translate(0,0); }
.optimisation-field .analysis-icon-choice:last-child .formal::after { right:52px; left:auto; transform:none; }
.form-stack label.analysis-national-toggle { display:inline-flex; flex-direction:row; gap:12px; padding:8px 16px; font:inherit; color:var(--analysis-text); }
.form-stack label.analysis-national-toggle:has(input:checked) { color:var(--cds-text-inverse); }
.national-switch-track { position:relative; flex:0 0 32px; height:18px; border-radius:12px; background:var(--cds-border-strong-01); }
.national-switch-track::after { content:""; position:absolute; top:3px; left:3px; width:12px; height:12px; border-radius:50%; background:var(--cds-text-primary); }
.analysis-national-toggle input:checked ~ .national-switch-track { background:var(--cds-text-inverse); }
.analysis-national-toggle input:checked ~ .national-switch-track::after { left:17px; background:var(--cds-background-inverse); }
.national-switch-state { min-width:24px; font-size:14px; }
.national-state-on,.analysis-national-toggle input:checked ~ .national-switch-state .national-state-off { display:none; }
.analysis-national-toggle input:checked ~ .national-switch-state .national-state-on { display:inline; }
.analysis-national-toggle .analysis-choice-tooltip.formal { left:0; width:min(360px,calc(100vw - 96px)); transform:translate(0,4px); }
.analysis-national-toggle .analysis-choice-tooltip::after { left:32px; }
.analysis-national-toggle .analysis-choice-tooltip::before { content:""; position:absolute; top:100%; left:0; width:100%; height:10px; }
.analysis-national-toggle:hover .analysis-choice-tooltip,.analysis-national-toggle:focus-within .analysis-choice-tooltip { transform:translate(0,0); pointer-events:auto; }
.analysis-national-toggle.tooltip-dismissed .analysis-choice-tooltip { opacity:0; pointer-events:none; }
.language-mark { font-size:inherit; font-weight:inherit; letter-spacing:0; }
.language-flag { font-size:20px; line-height:1; }
.content-prompt-field { margin-top:0; }
.cds-analysis-form .action-note { justify-content:flex-start; padding-top:0; }
.cds-analysis-form .btn.primary { min-width:160px; min-height:48px; justify-content:flex-start; padding:0 16px; border-radius:0; background:var(--cds-interactive); color:var(--analysis-text); font-size:var(--analysis-text-size); font-weight:500; line-height:1.25; }
.cds-analysis-form .btn.primary:hover { background:var(--cds-interactive-hover); }
.cds-analysis-form .notice,.cds-analysis-form .notice strong,.cds-analysis-form .notice p,.cds-analysis-form .notice .btn { color:var(--analysis-text); font-size:var(--analysis-text-size); font-weight:500; }
.cds-analysis-form .location-option,.cds-analysis-form .location-option strong,.cds-analysis-form .location-option span,.cds-analysis-form .location-option .location-kind,.cds-analysis-form .location-option[aria-selected="true"] strong { color:var(--analysis-text); font-size:var(--analysis-text-size); font-weight:500; }
.cds-analysis-form .location-status,.cds-analysis-form .location-status[data-state="verified"],.cds-analysis-form .location-status[data-state="error"],.cds-analysis-form .location-status[data-state="loading"] { color:var(--analysis-text); font-size:var(--analysis-text-size); font-weight:500; }
@media (prefers-reduced-motion:reduce) {
  .analysis-icon-choice,.analysis-choice-tooltip { transition:none; }
}
.settings-language-option { display:grid!important; width:max-content; grid-template-columns:18px 28px auto; flex-direction:unset!important; align-items:center; gap:9px!important; min-height:44px; padding:6px 10px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-card-2); color:var(--text)!important; cursor:pointer; }
.settings-language-option input { width:16px!important; height:16px; margin:0; accent-color:var(--accent); }
.settings-language-flag { font-size:20px; line-height:1; }
.analysis-language-settings .btn { align-self:flex-start; }
.input-with-unit { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.input-with-unit input { grid-area:1/1/2/3; padding-right:42px!important; }
.input-with-unit span { grid-area:1/2; z-index:1; padding-right:11px; color:var(--text-3); font-size:11px; font-weight:700; pointer-events:none; }
.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; }
.location-field { display:flex; min-width:0; flex-direction:column; gap:6px; color:var(--text-2); font-size:12px; font-weight:650; }
.location-field > label { color:var(--text-2); }
.location-combobox { position:relative; }
.location-combobox:focus-within { border-radius:var(--radius-sm); }
.location-suggestions { position:absolute; z-index:40; top:calc(100% + 6px); right:0; left:0; max-height:280px; overflow-y:auto; padding:5px; border:1px solid var(--border-strong); border-radius:10px; background:var(--bg-card); box-shadow:0 18px 45px rgba(0,0,0,.48); }
.location-suggestions[hidden] { display:none; }
.location-option { display:flex; flex-direction:column; gap:1px; padding:9px 10px; border-radius:7px; color:var(--text); cursor:pointer; line-height:1.35; }
.location-option-row { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:10px; }
.location-option-row strong { min-width:0; }
.location-option .location-kind { flex:0 0 auto; padding:2px 6px; border:1px solid color-mix(in srgb,var(--accent-2) 32%,transparent); border-radius:4px; background:color-mix(in srgb,var(--accent-2) 10%,transparent); color:var(--accent-text); font-size:9px; font-weight:750; line-height:1.35; text-transform:uppercase; }
.location-option strong { overflow:hidden; font-size:13px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.location-option span { overflow:hidden; color:var(--text-3); font-size:11px; font-weight:450; text-overflow:ellipsis; white-space:nowrap; }
.location-option:hover,.location-option[aria-selected="true"] { background:var(--accent-soft); }
.location-option[aria-selected="true"] strong { color:var(--accent-text); }
.cds-analysis-form .location-suggestions { top:100%; max-height:240px; padding:0; border:1px solid var(--cds-border-strong-01); border-top:0; border-radius:0; background:var(--cds-layer-01); box-shadow:none; }
.cds-analysis-form .location-option { min-height:40px; box-sizing:border-box; flex-direction:row; align-items:center; padding:0 16px; border-radius:0; color:var(--analysis-text); font-size:var(--analysis-text-size); font-weight:500; line-height:1.25; }
.cds-analysis-form .location-option-label { display:block; min-width:0; overflow:hidden; color:inherit; font:inherit; text-overflow:ellipsis; white-space:nowrap; }
.cds-analysis-form .location-option:hover,.cds-analysis-form .location-option[aria-selected="true"] { background:var(--cds-layer-hover-01); color:var(--analysis-text); }
.location-status { color:var(--text-3); font-size:11px; font-weight:500; line-height:1.45; }
.location-status[hidden] { display:none; }
.location-status[data-state="verified"] { color:var(--green); }
.location-status[data-state="error"] { color:var(--red); }
.location-status[data-state="loading"] { color:var(--text-2); }
.location-field input[aria-invalid="true"] { border-color:var(--red); box-shadow:0 0 0 3px var(--red-soft); }
.location-multi-field { display:flex; min-width:0; flex-direction:column; gap:6px; color:var(--text-2); font-size:12px; font-weight:650; }
.location-multi-field > label { color:var(--text-2); }
.location-values { display:grid; gap:6px; }
.location-values:empty { display:none; }
.location-value { display:grid; min-height:38px; grid-template-columns:minmax(0,1fr) auto 30px; align-items:center; gap:8px; padding:3px 4px 3px 10px; border:1px solid var(--border); border-radius:6px; background:var(--bg-card-2); color:var(--text); font-size:12px; font-weight:600; }
.location-value-text { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.location-value small { color:var(--text-3); font-size:9px; font-weight:750; text-transform:uppercase; }
.location-value-remove { display:grid; width:30px; height:30px; place-items:center; padding:0; border:0; border-radius:5px; background:transparent; color:var(--text-3); cursor:pointer; font:inherit; font-size:18px; line-height:1; }
.location-value-remove:hover { background:var(--bg-hover); color:var(--text); }
.location-value-remove:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.location-multi-field .location-combobox input { width:100%; }
.location-multi-field.has-values .location-combobox input { border-style:dashed; }
.location-multi-field .location-status { display:block; }
.advanced-panel { border-top:1px solid var(--border); margin-top:18px; padding-top:12px; }
.advanced-panel > summary { cursor:pointer; color:var(--text-2); font-weight:650; padding:6px 0; }
.content-word-range { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:10px; }
.content-word-range > label { min-width:0; }
.form-stack .content-word-range-help { display:block; margin-top:8px; line-height:1.5; }
.schema-defaults { display:flex; flex-direction:column; gap:4px; padding:8px; background:rgba(127,127,127,.08); border:1px solid var(--border); border-radius:8px; margin-bottom:4px; }
.form-stack label.schema-toggle-row { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:10px; padding:9px 10px; color:var(--text); font-size:13px; cursor:pointer; border-radius:6px; }
.form-stack label.schema-toggle-row:hover { background:rgba(127,127,127,.07); }
.schema-toggle-row input[type="checkbox"] { width:16px; height:16px; margin:2px 0 0; accent-color:var(--accent); }
.schema-toggle-copy { display:flex; flex-direction:column; gap:2px; min-width:0; line-height:1.35; }
.schema-toggle-copy strong { color:var(--text); font-size:13px; font-weight:650; }
.form-stack .schema-toggle-copy small { color:var(--text-3); font-size:11px; font-weight:450; }
.action-note { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:6px; }
.schema-editor { margin-top:18px; padding-top:0; border-top:0; }
.schema-source { display:flex; align-items:center; gap:10px; min-width:0; padding:0; border:0; border-radius:0; background:none; font-size:12px; }
.schema-source span { color:var(--text-2); font-weight:650; }
.schema-source a { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.schema-details { margin-top:2px; }
.schema-help { margin:5px 0 14px; color:var(--text-2)!important; font-size:12px; }
.schema-profile-grid .span-2 { grid-column:1/-1; }
.schema-profile-notice { margin:10px 0; }
.schema-inherited-areas { display:flex; flex-direction:column; gap:8px; padding:14px; border:1px solid color-mix(in srgb,var(--sky) 22%,transparent); border-radius:8px; background:color-mix(in srgb,var(--sky) 5.5%,transparent); }
.schema-inherited-areas-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.schema-inherited-areas-heading strong { color:var(--text); font-size:13px; }
.schema-inherited-areas-heading a { color:var(--sky-text); font-size:11px; font-weight:650; }
.schema-inherited-areas p { margin:0; color:var(--text-2); font-size:11px; font-weight:450; line-height:1.5; }
.schema-inherited-area-list { display:flex; flex-wrap:wrap; gap:7px; }
.schema-inherited-area { display:inline-flex; align-items:center; gap:7px; padding:6px 8px; border:1px solid color-mix(in srgb,var(--sky-text) 20%,transparent); border-radius:6px; background:var(--bg-card-2); color:var(--text); font-size:12px; font-weight:600; }
.schema-inherited-area small { color:var(--sky-text); font-size:9px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.schema-generation-form-card { margin-top:22px; padding:28px; border:0; border-radius:10px; background:var(--bg-sunken); }
.schema-generation-form-header { display:block; padding:0; border:0; }
.schema-generation-form-header h3 { margin:0; color:var(--text); font-size:22px; letter-spacing:-.02em; }
.schema-generation-form-header p { margin:4px 0 0; color:var(--text-2); font-size:13px; line-height:1.5; }
.schema-form-section { display:block; margin-top:30px; padding-top:0; border-top:0; }
.schema-generation-form-header + .schema-form-section { margin-top:26px; padding-top:0; border-top:0; }
.schema-form-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:8px; }
.schema-form-section-heading h4 { margin:0; color:var(--text); font-size:17px; letter-spacing:-.01em; }
.schema-form-section-heading span { color:var(--text-2); font-size:12px; }
.schema-editor label { color:var(--text); font-size:13px; }
.schema-editor input,.schema-editor textarea { background:var(--bg-card-2); border:0; color:var(--text); }
.schema-editor input::placeholder,.schema-editor textarea::placeholder { color:var(--text-3); opacity:1; }
.schema-editor input:focus,.schema-editor textarea:focus { border-color:transparent; box-shadow:0 0 0 2px var(--sky); }
.schema-generate-button { flex:0 0 auto; min-width:180px; padding:10px 16px; }
@media (max-width:700px) { .schema-generation-form-header,.schema-actions { align-items:stretch; flex-direction:column; } .schema-generate-button { width:100%; } }
.schema-profile-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:14px; }
.schema-subheading { margin:22px 0 10px; color:var(--text); font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.schema-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:30px; padding-top:0; }
.schema-actions .muted { color:var(--text-2); }
.support-grid { align-items:start; }
.support-card > .muted { margin:4px 0 18px; font-size:12px; }
.support-card textarea { min-height:150px; resize:vertical; line-height:1.5; }
.support-history { margin-top:18px; }
.support-message { max-width:720px; margin-top:4px; white-space:pre-line; line-height:1.45; }
.support-status-form { display:flex; align-items:center; gap:8px; margin:0; }
.support-status-form select { min-width:112px; background:var(--bg-card-2); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text); font:inherit; font-size:12px; padding:7px 9px; }
.support-admin-table td:nth-child(4) { min-width:300px; }
.support-thread { display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.support-reply { border-left:3px solid var(--accent); background:var(--bg-card-2); border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:9px 11px; font-size:12px; line-height:1.45; white-space:pre-line; }
.support-reply-failed { border-left-color:var(--danger); }
.support-reply-form { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:12px; }
.support-reply-form textarea { width:100%; min-height:88px; resize:vertical; }
.support-ticket-detail { max-width:900px; }
.support-ticket-meta { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.support-conversation { display:flex; flex-direction:column; gap:12px; }
.support-customer-message { border-left:3px solid var(--border-strong); background:var(--bg-card-2); border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:12px 14px; line-height:1.55; white-space:pre-line; }
.support-customer-message > .muted, .support-reply > .muted { margin-left:6px; }
.support-ticket-actions { max-width:900px; margin-top:18px; }
.support-log-row td { vertical-align:top; }
.support-message-body { margin-top:8px; white-space:pre-line; }
.support-dropzone { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:108px; padding:18px; border:1px dashed var(--border-strong); border-radius:var(--radius-sm); background:var(--bg-card-2); color:var(--text); cursor:pointer; text-align:center; transition:border-color .15s ease,background .15s ease; }
.support-dropzone:hover,.support-dropzone.is-dragging { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 8%,var(--bg-card-2)); }
.support-dropzone:focus-visible { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 8%,var(--bg-card-2)); outline:2px solid var(--accent); outline-offset:2px; }
.support-dropzone.has-files { border-style:solid; }
.support-dropzone span { margin-top:4px; color:var(--muted); font-size:12px; }
.support-file-input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.support-upload-help { margin:-4px 0 0; font-size:11px; }
.support-file-list { display:flex; flex-direction:column; gap:7px; }
.support-file-row { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-card-2); }
.support-file-row img { width:42px; height:42px; object-fit:cover; border-radius:5px; }
.support-file-row > div { min-width:0; display:flex; flex-direction:column; }
.support-file-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.support-file-remove { border:0; background:transparent; color:var(--danger); cursor:pointer; font:inherit; font-size:11px; }
.support-attachments { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,260px)); gap:10px; margin-top:12px; }
.support-attachment { min-width:0; }
.support-attachment img,.support-attachment video { display:block; width:100%; max-height:260px; object-fit:contain; border:1px solid var(--border); border-radius:var(--radius-sm); background:#080a0d; }
.support-file-link { display:inline-block; max-width:100%; margin-top:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.support-customer-reply-card,.support-reopen-card { max-width:900px; margin-top:18px; }
.support-close-note { margin-top:14px; line-height:1.45; }
.support-status-stack { margin-top:18px; padding-top:18px; border-top:1px solid var(--border); }
.support-private-notes { grid-column:1 / -1; }
.support-private-notes-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.support-private-notes-head .muted { margin:4px 0 0; }
.support-note-list { display:flex; flex-direction:column; gap:8px; margin:16px 0; }
.support-note { border-left:3px solid var(--border-strong); border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:10px 12px; background:var(--bg-card-2); line-height:1.5; white-space:pre-line; }
.support-note > .muted { margin-left:7px; }
.support-private-notes form { margin-top:16px; }
@media (max-width:640px) { .support-attachments { grid-template-columns:1fr; } .support-file-row { grid-template-columns:auto minmax(0,1fr) auto; } }

.master-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.metric-card { min-height:108px; display:flex; flex-direction:column; justify-content:space-between; gap:6px; padding:17px 18px; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); }
.metric-card span { color:var(--text-3); font-size:10px; font-weight:720; text-transform:uppercase; letter-spacing:.075em; }
.metric-card strong { font-size:27px; line-height:1; letter-spacing:-.04em; }
.metric-card small { color:var(--text-3); font-size:10px; }
.metric-card.metric-alert { border-color:color-mix(in srgb,var(--red) 42%,transparent); background:linear-gradient(145deg,var(--bg-card),var(--red-soft)); }
.master-table { min-width:1580px; }
.master-table td { vertical-align:top; line-height:1.55; }
.master-credential-warning { margin:0 22px 16px; }
.serp-key-cell { min-width:190px; }
.serp-key-control { margin-top:8px; }
.serp-key-control > summary { width:max-content; color:var(--accent); cursor:pointer; font-size:12px; font-weight:650; }
.serp-key-control > summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:2px; }
.serp-key-panel { width:260px; margin-top:8px; padding:11px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-card-2); }
.serp-key-form { display:grid; gap:7px; }
.serp-key-form label { color:var(--text-2); font-size:11px; font-weight:650; }
.serp-key-form input { width:100%; box-sizing:border-box; background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text); font:inherit; font-size:12px; padding:9px 10px; }
.serp-key-form input:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.serp-key-panel .credential-remove { margin-top:9px; }
.serp-key-panel small { display:block; margin-top:7px; color:var(--text-3); font-size:10px; line-height:1.45; }
.account-revoke { width:100%; margin:6px 0; justify-content:center; }
.master-log-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:18px; margin-top:18px; }
.log-client { max-width:270px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.log-error { min-width:250px; max-width:460px; white-space:normal; color:var(--text-2); }
.master-tabs { margin-top:-6px; margin-bottom:20px; }
.master-workspace-notice { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.master-workspace-notice p { margin:4px 0 0; }
.master-workspace-notice form { flex:0 0 auto; }
.broadcast-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr); gap:18px; align-items:start; }
.broadcast-form textarea { min-height:270px; resize:vertical; }
.broadcast-photo-field { display:grid; gap:8px; }
.broadcast-field-label { color:var(--text-2); font-size:12px; font-weight:650; }
.broadcast-confirm { display:flex; flex-direction:row; align-items:flex-start; gap:10px; }
.broadcast-confirm input { width:auto; margin-top:3px; }
.broadcast-recipients .clean-list { max-height:430px; overflow:auto; margin-top:14px; }
.broadcast-recipients .clean-list li { display:grid; gap:2px; padding:10px 0; border-bottom:1px solid var(--border); }
.broadcast-recipients .clean-list li:last-child { border-bottom:0; }
.broadcast-recipients span { color:var(--text-2); font-size:12px; overflow-wrap:anywhere; }
.broadcast-recipients small { color:var(--text-3); }
.broadcast-history { margin-top:18px; }
.broadcast-history details { margin-top:7px; }
.broadcast-history summary { color:var(--accent); cursor:pointer; font-size:12px; }
.broadcast-body { margin-top:8px; max-width:780px; white-space:pre-wrap; color:var(--text-2); line-height:1.55; }

@media (max-width: 820px) {
  .app { grid-template-columns:minmax(0,1fr); min-width:0; width:100%; }
  .sidebar { position:relative; height:auto; width:100%; min-width:0; max-width:100vw; box-sizing:border-box; padding:12px; border-right:0; border-bottom:1px solid var(--border); overflow:hidden; }
  .brand { padding:0 4px 12px; margin:0 0 8px; }
  .nav { flex-direction:row; width:100%; min-width:0; max-width:100%; padding:0; overflow-x:auto; }
  .nav-section { display:none; }
  .nav a { white-space:nowrap; }
  .sidebar-footer { display:none; }
  .main { width:100%; min-width:0; max-width:100vw; }
  .page { width:100%; min-width:0; box-sizing:border-box; padding:20px 16px; }
  .schema-showcase-embedded { width:100%; }
  .settings-grid,.form-grid,.core-fields,.serp-version-grid,.content-word-range { grid-template-columns:1fr; }
  .analysis-form-shell { padding:24px 16px; }
  .analysis-keyword-field,.location-field,.analysis-existing-page-field,.analysis-national-field,.device-field { grid-column:1/-1; }
  .analysis-control-row { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
  .analysis-control-row .optimisation-field,.analysis-control-row .device-field,.analysis-control-row .language-field,.analysis-control-row .model-field,.analysis-control-row:has(.language-field):has(.model-field) .optimisation-field,.analysis-control-row:has(.language-field):has(.model-field) .device-field,.analysis-control-row:has(.language-field):has(.model-field) .language-field,.analysis-control-row:has(.language-field):has(.model-field) .model-field { grid-column:1/-1; }
  .optimisation-field .analysis-icon-group { grid-template-columns:1fr; }
  .optimisation-field .analysis-icon-choice { min-height:48px; flex-direction:row; gap:8px; }
  .credential-pool-card .section-lead,.serpapi-pool-card .section-lead { align-items:stretch; flex-direction:column; }
  .credential-pool-heading-actions { justify-content:flex-start; }
  .credential-pool-table-wrap,.serpapi-pool-table-wrap { margin-inline:-16px; }
  .credential-pool-table,.serpapi-pool-table { min-width:0; }
  .credential-pool-table thead,.serpapi-pool-table thead { display:none; }
  .credential-pool-table,.credential-pool-table tbody,.credential-pool-table tr,.credential-pool-table td,.serpapi-pool-table,.serpapi-pool-table tbody,.serpapi-pool-table tr,.serpapi-pool-table td { display:block; width:100%; }
  .credential-pool-table tr,.serpapi-pool-table tr { padding:12px 16px; border-bottom:1px solid var(--border); }
  .credential-pool-table tr:last-child,.serpapi-pool-table tr:last-child { border-bottom:0; }
  .credential-pool-table td,.serpapi-pool-table td { display:grid; grid-template-columns:112px minmax(0,1fr); gap:10px; padding:5px 0; border:0; }
  .credential-pool-table td::before,.serpapi-pool-table td::before { content:attr(data-label); color:var(--text-3); font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
  .serpapi-key-error { max-width:none; }
  .coordinate-radius-field { max-width:none; }
  .image-metadata-fields { grid-template-columns:1fr; margin-left:0; }
  .image-metadata-fields .span-2 { grid-column:auto; }
  .core-fields .span-2 { grid-column:auto; }
  .schema-profile-grid .span-2 { grid-column:auto; }
  .schema-actions { align-items:stretch; flex-direction:column; }
  .account-summary { align-items:flex-start; flex-direction:column; }
  .release-settings-card,.release-current,.release-entry-head { align-items:flex-start; flex-direction:column; }
  .release-settings-action { justify-content:flex-start; }
  .release-feature-grid { grid-template-columns:1fr; }
  .access-state { min-width:0; width:100%; }
  .invite-result { grid-template-columns:1fr; }
  .account-actions { min-width:320px; }
  .page-header { align-items:flex-start; }
  .content-toolbar-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .content-toolbar-actions > *, .content-toolbar-actions form .btn { width:100%; }
  .content-toolbar-actions .btn { min-height:42px; white-space:normal; text-align:center; justify-content:center; }
  .content-toolbar-actions .content-save-status { grid-column:1/-1; width:100%; margin-left:0; text-align:right; }
  .content-toolbar { align-items:flex-start; }
  .content-toolbar-score { min-width:72px; margin-left:8px; padding-left:8px; }
  .content-toolbar-score span { font-size:16px; }
  .gap-fill-targets { grid-template-columns:1fr; }
  .gap-fill-budget { grid-template-columns:1fr; }
  .max-version-row { grid-template-columns:1fr; gap:10px; }
  .max-version-row form .btn { width:100%; }
  .max-version-metrics { gap:8px; }
  .content-block-format { width:100%; }
  .content-block-format select { flex:1; min-width:0; }
  .content-link-editor { grid-column:1/-1; width:100%; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto auto; }
  .content-link-editor input { width:100%; min-width:0; }
  .accounts-table thead { display:none; }
  .accounts-table,.accounts-table tbody,.accounts-table tr,.accounts-table td { display:block; width:100%; }
  .accounts-table tr { padding:12px 14px; border-top:1px solid var(--border); }
  .accounts-table td { border:0; padding:5px 0; display:grid; grid-template-columns:78px 1fr; gap:10px; align-items:start; }
  .accounts-table td::before { content:attr(data-label); color:var(--text-3); font-size:10px; text-transform:uppercase; letter-spacing:.07em; padding-top:3px; }
  .accounts-table .account-actions { min-width:0; display:grid; grid-template-columns:78px 1fr; }
  .accounts-table .account-actions::before { grid-row:1 / span 2; }
  .accounts-table .account-actions > form { width:100%; }
  .accounts-table .account-action-row { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .accounts-table .account-action-row form { width:100%; }
  .accounts-table .account-actions .btn { width:100%; justify-content:center; }
  .accounts-table .inline-access { grid-template-columns:1fr 96px auto; }
  .master-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .master-log-grid { grid-template-columns:1fr; }
  .master-table { min-width:0; }
  .master-workspace-notice { align-items:flex-start; flex-direction:column; }
  .broadcast-layout { grid-template-columns:1fr; }
}

@media (max-width: 480px) {
  .master-metrics { grid-template-columns:1fr; }
  .metric-card { min-height:88px; }
}

/* Parsed SERP snapshot view */
.serp-result { padding-bottom:14px; border-bottom:1px solid var(--border); }
.serp-result:last-child { border-bottom:none; padding-bottom:0; }
.serp-result strong { color:var(--text); font-weight:700; }

/* Carbon-inspired selectable data table for rank analysis. */
.selection-grid { display:grid; grid-template-columns:repeat(16,minmax(0,1fr)); column-gap:16px; }
.selection-col-full { grid-column:1 / -1; min-width:0; }
.selection-page-head { margin-bottom:24px; }
.selection-page-head .selection-col-full { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.selection-page-head h1 { color:var(--text); font-size:20px; font-weight:650; letter-spacing:-.02em; }
.selection-page-head p { margin-top:3px; color:var(--text-3); font-size:13px; }
.selection-notice { margin-bottom:16px; }
.selection-status { margin:-8px 0 16px; color:var(--amber); font-size:12px; }
.selection-table-title { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:16px; }
.selection-table-title h2 { color:var(--text); font-size:16px; font-weight:650; letter-spacing:-.01em; }
.selection-table-title > span { color:var(--text-3); font-size:12px; }
.rank-sites { row-gap:0; }
.rank-selection-toolbar { display:flex; min-height:40px; align-items:stretch; justify-content:flex-end; border-top:1px solid var(--border); }
.rank-selection-toolbar > span { display:flex; align-items:center; margin-right:auto; padding:0 16px; color:var(--text-3); font-size:11px; font-weight:600; }
.rank-selection-preset { min-width:88px; min-height:40px; padding:0 14px; border:0; border-left:1px solid var(--border); background:transparent; color:var(--text-2); font:inherit; font-size:12px; font-weight:600; cursor:pointer; }
.rank-selection-preset:hover { background:var(--bg-hover); color:var(--text); }
.rank-selection-preset:focus-visible { position:relative; z-index:1; outline:2px solid var(--accent); outline-offset:-2px; }
.rank-selection-preset.is-active { background:var(--accent-soft); color:var(--text); box-shadow:inset 0 -2px var(--accent); }
.rank-selection-preset:disabled { cursor:not-allowed; opacity:.42; }
.rank-table-wrap { overflow-x:auto; border-top:1px solid var(--border); }
.rank-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.rank-table th { height:40px; padding:0 16px; border-bottom:1px solid var(--border); color:var(--text-2); font-size:11px; font-weight:600; letter-spacing:.02em; text-align:left; }
.rank-table td { height:68px; padding:8px 16px; border-bottom:1px solid var(--border); vertical-align:middle; }
.rank-table tbody tr { background:transparent; }
.rank-table tbody tr:hover { background:color-mix(in srgb,var(--text) 4.5%,transparent); }
.rank-table .rank-table-select { width:48px; padding:0; text-align:center; }
.rank-table-select label { display:grid; width:48px; height:48px; place-items:center; cursor:pointer; }
.rank-table-select input { position:absolute; width:1px; height:1px; opacity:0; }
.rank-table-select label > span { position:relative; width:16px; height:16px; border:1px solid var(--text-3); background:transparent; }
.rank-table-select input:checked + span,
.rank-table-select input:indeterminate + span { border-color:var(--accent); background:var(--accent); }
.rank-table-select input:checked + span::after { content:""; position:absolute; top:2px; left:5px; width:4px; height:8px; border:solid var(--text-on-accent); border-width:0 2px 2px 0; transform:rotate(45deg); }
.rank-table-select input:indeterminate + span::after { content:""; position:absolute; top:7px; left:3px; width:8px; height:2px; background:var(--text-on-accent); }
.rank-table-select input:focus-visible + span { outline:2px solid var(--accent); outline-offset:3px; }
.rank-table-page { min-width:0; }
.rank-table-page > a { display:block; overflow:hidden; color:var(--text); font-size:14px; font-weight:600; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.rank-table-page > a:hover { color:var(--text); text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:3px; }
.rank-table-page > a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.rank-table-page > span { display:block; overflow:hidden; margin-top:3px; color:var(--text-2); font-size:12px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.rank-table-page > small { display:inline-block; margin-top:3px; color:var(--amber); font-size:10px; }
.rank-table .rank-table-average { width:156px; text-align:right; }
.rank-table-average strong { color:var(--text); font-size:15px; font-variant-numeric:tabular-nums; font-weight:600; }
.rank-table-average small { display:block; margin-top:2px; color:var(--text-3); font-size:11px; line-height:1.35; }
.selection-recover { margin-bottom:20px; }
.selection-recover p { max-width:860px; margin-bottom:10px; color:var(--text-2); }
.rank-result-actions { display:flex; justify-content:flex-end; padding:16px 0 28px; }
.selection-empty { padding:18px 0; border-top:1px solid var(--border); color:var(--text-3); font-size:13px; }
.snapshot-list { border-top:1px solid var(--border); }
.snapshot-rows { border-top:1px solid var(--border); }
.snapshot-row { display:grid; grid-template-columns:minmax(0,1fr) 90px 56px; min-height:48px; align-items:center; gap:16px; padding:0 16px; border-bottom:1px solid var(--border); color:inherit; text-decoration:none; }
.snapshot-row:hover { background:color-mix(in srgb,var(--text) 2.8%,transparent); color:inherit; text-decoration:none; }
.snapshot-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.snapshot-row > span { overflow:hidden; color:var(--text); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.snapshot-row > small { color:var(--text-3); font-size:11px; text-align:right; }
.snapshot-row > strong { color:var(--accent-text); font-size:12px; font-weight:600; text-align:right; }
@media (max-width:700px) {
  .selection-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .selection-page-head .selection-col-full { align-items:center; }
  .rank-selection-toolbar { flex-wrap:wrap; justify-content:stretch; }
  .rank-selection-toolbar > span { width:100%; min-height:32px; border-bottom:1px solid var(--border); }
  .rank-selection-preset { flex:1 1 33.333%; min-width:0; padding-inline:8px; }
  .rank-table th,
  .rank-table td { padding-inline:10px; }
  .rank-table .rank-table-average { width:88px; }
  .rank-table-page > span { max-width:58vw; }
  .snapshot-row { grid-template-columns:minmax(0,1fr) 48px; padding-inline:10px; }
  .snapshot-row > small { display:none; }
}

/* ── Schema report panel ────────────────────────────────────────────── */
.kpi-row { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
/* Override block-card .kpi style when used inline inside .kpi-row */
.kpi-row .kpi {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  font-size: 13px;
}
.badge { padding: 2px 8px; border-radius: 10px; font-size: 12px; font-weight: 600; }
.badge-ok   { background: #1f7a3f; color: #fff; }
.badge-warn { background: #7a5a1f; color: #fff; }

/* ── analysis keyword and H2 selection controls ─────────────────────────── */
.analysis-header-actions { margin-left:auto; display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.analysis-generate-form { display:inline-flex; align-items:center; gap:7px; margin:0; }
.analysis-option-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.analysis-option-heading .eyebrow { margin:0 0 3px; }
.analysis-option-heading h2 { margin:0; font-size:19px; letter-spacing:-.015em; }
.analysis-option-intro { max-width:760px; margin:7px 0 16px; color:var(--text-2); font-size:12px; line-height:1.55; text-wrap:pretty; }
.analysis-original-research-card { margin-bottom:12px; padding:18px 20px; }
.analysis-original-research-card .form-stack { margin-top:0; }
.analysis-word-range-card { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr); gap:28px; align-items:center; margin-bottom:18px; padding:18px 20px; }
.analysis-word-range-summary .eyebrow { margin:0 0 3px; }
.analysis-word-range-summary h2 { margin:0 0 5px; font-size:19px; letter-spacing:-.015em; }
.analysis-word-range-summary p { margin:0; color:var(--text-2); font-size:12px; line-height:1.5; }
.analysis-word-range-setting { display:grid; gap:8px; }
.analysis-word-range-value { display:flex; align-items:baseline; justify-content:space-between; gap:12px; color:var(--text-2); font-size:11px; }
.analysis-word-range-value strong { color:var(--text); font-size:15px; }
.analysis-word-range-setting > label { color:var(--text-2); font-size:11px; font-weight:650; }
.analysis-word-range-setting input[type="range"] { width:100%; accent-color:var(--accent); cursor:pointer; }
.analysis-word-range-setting[data-active="false"] input[type="range"] { opacity:.72; }
.analysis-word-range-setting input#article-length,
.analysis-word-range-setting input#fast-length-slider { height:6px; border-radius:999px; appearance:none; -webkit-appearance:none; background:linear-gradient(90deg, var(--accent) 0, var(--accent) var(--fill,0%), var(--accent-soft) var(--fill,0%), var(--accent-soft) 100%); }
.analysis-word-range-setting input#article-length::-webkit-slider-thumb,
.analysis-word-range-setting input#fast-length-slider::-webkit-slider-thumb { -webkit-appearance:none; width:16px; height:16px; border-radius:50%; background:var(--accent); border:2px solid var(--bg, #111); }
.analysis-word-range-setting input#article-length::-moz-range-thumb,
.analysis-word-range-setting input#fast-length-slider::-moz-range-thumb { width:14px; height:14px; border-radius:50%; background:var(--accent); border:2px solid var(--bg, #111); }
.word-length-label { padding:2px 9px; border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:11px; font-weight:700; }
.word-length-ends { display:flex; justify-content:space-between; color:var(--text-3); font-size:10px; }
/* Fast page length card: the gauge's controls sit in one hideable group. */
#fast-length-controls { display:grid; gap:8px; }
#fast-length-controls[hidden] { display:none; }
#fast-length-controls > label { color:var(--text-2); font-size:11px; font-weight:650; }
html[data-theme-scope="auto"] #fast-length-controls { gap:10px; }
html[data-theme-scope="auto"] #fast-length-controls > label { font-size:12.5px; font-weight:550; }
.analysis-word-range-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.analysis-word-range-footer small,.analysis-word-range-setting > small { color:var(--text-3); font-size:10px; line-height:1.4; }
.analysis-word-range-reset { flex:none; padding:0; border:0; background:none; color:var(--accent); font:inherit; font-size:10px; font-weight:700; cursor:pointer; }
.analysis-word-range-reset:hover { text-decoration:underline; }
.analysis-word-range-reset:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:2px; }
.analysis-generate-form select { min-width:160px; background:var(--bg-card-2); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text); font:inherit; font-size:12px; padding:8px 28px 8px 9px; }
.analysis-writer-control { display:grid; gap:3px; color:var(--text-2); font-size:11px; font-weight:650; }
.analysis-writer-control small { min-height:14px; color:var(--text-2); font-size:10px; font-weight:500; }
.generation-history { margin-bottom:18px; padding:0; overflow:hidden; }
.generation-history-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 17px 12px; border-bottom:1px solid var(--border); }
.generation-history-head .eyebrow { margin:0 0 3px; }
.generation-history-head h2 { margin:0; color:var(--text); font-size:16px; }
.generation-list { display:grid; }
.generation-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 17px; border-bottom:1px solid var(--border); color:var(--text); text-decoration:none; }
.generation-row:hover { background:var(--bg-hover); }
.generation-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.generation-row > span:first-child { display:grid; gap:3px; min-width:0; }
.generation-row small { overflow:hidden; color:var(--text-3); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.generation-metrics { display:flex; align-items:center; justify-content:flex-end; gap:14px; color:var(--text-2); font-size:11px; white-space:nowrap; }
.generation-history-note { margin:0; padding:10px 17px; font-size:10px; }
.generation-count-link { display:flex; align-items:center; gap:7px; color:var(--text-2); font-size:11px; text-decoration:none; white-space:nowrap; }
.generation-count-link strong { color:var(--text); }
.generation-count-link:hover strong { color:var(--accent); }
.content-generation-control { display:grid; gap:2px; color:var(--text-3); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.content-generation-control select { max-width:260px; padding:7px 28px 7px 9px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-card-2); color:var(--text); font:inherit; font-size:11px; font-weight:600; text-transform:none; letter-spacing:0; outline:none; }
.content-generation-control select:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.analysis-brief .muted { color: var(--text-2); }
.analysis-brief .card-title,
.analysis-brief table.data th,
.analysis-brief .kpi-label { color: var(--text-2); }
.analysis-brief span.tag:not(.excluded):not(.h2-selected):not(.text-accent) { color: var(--text); }
.term-toggle { cursor: pointer; user-select: none; touch-action: manipulation; }
.term-toggle:hover { filter: brightness(1.25); }
.service-area-fieldset { margin:10px 0 0; padding:0; border:0; }
.service-area-fieldset legend { margin-bottom:8px; color:var(--text-2); font-size:12px; font-weight:650; }
.service-area-options { display:flex; flex-wrap:wrap; gap:8px; }
.service-area-option { display:inline-flex; min-height:32px; align-items:center; gap:8px; padding:6px 10px; border:1px solid var(--border); border-radius:8px; color:var(--text); cursor:pointer; }
.service-area-option:hover { background:var(--bg-hover); }
.service-area-option:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
.service-area-option input[type="checkbox"] { width:16px; height:16px; margin:0; accent-color:var(--accent); }
.service-area-all { margin-bottom:8px; font-weight:650; }
span.term-toggle.excluded {
  opacity: 0.38;
  text-decoration: line-through;
  border-style: dashed;
}
tr.term-toggle.excluded td { opacity: 0.38; text-decoration: line-through; }
span.term-toggle.h2-selected {
  border-color: var(--h2-green);
  background: color-mix(in srgb, var(--h2-green) 18%, var(--bg-card));
  color: var(--h2-green-text);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--h2-green) 38%, transparent);
  opacity: 1;
  text-decoration: none;
}
span.term-toggle.h2-selected::after {
  content: "H2";
  margin-left: 5px;
  padding: 1px 4px;
  border-radius: 4px;
  background: var(--h2-green-strong);
  color: #fff;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .03em;
}
tr.term-toggle.h2-selected td {
  background: color-mix(in srgb, var(--h2-green) 12%, transparent);
  color: var(--h2-green-text);
  opacity: 1;
  text-decoration: none;
}
tr.term-toggle.h2-selected td:first-child::after {
  content: "H2";
  display: inline-block;
  margin-left: 7px;
  padding: 1px 4px;
  border-radius: 4px;
  background: var(--h2-green-strong);
  color: #fff;
  font-family: inherit;
  font-size: 9px;
  font-weight: 750;
}

@media (max-width: 720px) {
  .analysis-header-actions { width:100%; margin-left:0; justify-content:flex-start; }
  .analysis-generate-form { width:100%; align-items:stretch; flex-direction:column; }
  .analysis-word-range-card { grid-template-columns:1fr; gap:16px; }
  .generation-row { align-items:flex-start; flex-direction:column; }
  .generation-metrics { flex-wrap:wrap; justify-content:flex-start; }
}

/* ── Owner SERP HTML viewer — Carbon-inspired work surface ─────────────── */
.serp-html-shell {
  --serp-background:#161616;
  --serp-layer:#262626;
  --serp-layer-hover:#333;
  --serp-border:#525252;
  --serp-text:#f4f4f4;
  --serp-text-secondary:#c6c6c6;
  --serp-interactive:#0f62fe;
  --serp-focus:#fff;
  --serp-text-helper:#8d8d8d;
  --serp-stage:#393939;
  display:grid;
  gap:24px;
  width:100%;
  max-width:none;
}
.serp-html-header { padding-top:8px; }
.serp-html-header h1 { margin:0; color:var(--serp-text); font-size:24px; font-weight:400; letter-spacing:-.01em; line-height:1.25; }
.serp-search-form { padding-block:16px; border-block:1px solid var(--serp-border); }
.serp-search-grid { display:grid; grid-template-columns:repeat(16,minmax(0,1fr)); column-gap:16px; row-gap:16px; align-items:end; }
.serp-search-grid label,.serp-location-field { display:grid; gap:8px; min-width:0; color:var(--serp-text-secondary); font-size:12px; font-weight:400; }
.serp-search-query { grid-column:span 6; }
.serp-location-field { grid-column:span 6; }
.serp-search-pages { grid-column:span 2; }
.serp-search-grid input,.serp-search-grid select { width:100%; height:48px; padding:0 16px; border:0; border-bottom:1px solid var(--serp-border); border-radius:0; outline:0; background:var(--serp-layer); color:var(--serp-text); font:inherit; font-size:14px; }
.serp-search-grid input:hover,.serp-search-grid select:hover { background:var(--serp-layer-hover); }
.serp-search-grid input:focus-visible,.serp-search-grid select:focus-visible { outline:2px solid var(--serp-focus); outline-offset:-2px; }
.serp-search-grid input::placeholder { color:var(--serp-text-helper); opacity:1; }
.serp-search-grid select { cursor:pointer; }
.serp-location-picker { position:relative; min-width:0; }
.serp-search-submit { grid-column:span 2; display:flex; min-height:48px; align-items:center; justify-content:flex-start; padding:0 16px; border:0; background:var(--serp-interactive); color:#fff; font:inherit; font-size:14px; cursor:pointer; }
.serp-search-submit:hover { background:#0353e9; }
.serp-search-submit:focus-visible { outline:2px solid var(--serp-focus); outline-offset:-4px; }
.serp-location-popover { position:absolute; z-index:40; top:calc(100% + 1px); left:0; width:100%; min-width:min(520px,calc(100vw - 48px)); overflow:hidden; border:1px solid var(--serp-border); background:var(--serp-layer); box-shadow:0 16px 40px rgba(0,0,0,.45); }
.serp-location-popover[hidden] { display:none; }
.serp-location-status { min-height:40px; padding:10px 16px; color:var(--serp-text-secondary); font-size:12px; }
.serp-location-results { display:grid; max-height:360px; overflow-y:auto; border-top:1px solid var(--serp-border); overscroll-behavior:contain; }
.serp-location-result { display:grid; gap:2px; width:100%; min-height:56px; padding:10px 16px; border:0; border-bottom:1px solid var(--serp-border); background:var(--serp-layer); color:var(--serp-text); text-align:left; cursor:pointer; }
.serp-location-result:hover { background:var(--serp-layer-hover); }
.serp-location-result:focus-visible { position:relative; outline:2px solid var(--serp-focus); outline-offset:-2px; }
.serp-location-result strong { overflow-wrap:anywhere; font-size:13px; font-weight:400; line-height:1.35; }
.serp-location-result span { color:var(--serp-text-helper); font-size:11px; }
.serp-viewer { min-width:0; border-top:1px solid var(--serp-border); background:var(--serp-background); }
.serp-viewer-toolbar { display:flex; min-height:64px; align-items:center; justify-content:space-between; gap:24px; padding:8px 0 8px 16px; }
.serp-viewer-toolbar h2 { margin:0; color:var(--serp-text); font-size:14px; font-weight:600; line-height:1.3; }
.serp-viewer-toolbar p { margin-top:2px; color:var(--serp-text-helper); font-size:11px; }
.serp-viewer-actions { display:flex; align-items:center; gap:16px; }
.serp-page-switcher,.serp-viewport-switcher { display:flex; height:40px; align-items:stretch; }
.serp-page-switcher button,.serp-viewport-switcher button { position:relative; display:grid; min-width:40px; place-items:center; padding:0 16px; border:1px solid var(--serp-border); border-right:0; background:transparent; color:var(--serp-text-secondary); font:inherit; font-size:12px; cursor:pointer; }
.serp-page-switcher button:last-child,.serp-viewport-switcher button:last-child { border-right:1px solid var(--serp-border); }
.serp-page-switcher button[aria-selected="true"],.serp-viewport-switcher button[aria-selected="true"] { background:var(--serp-text); color:var(--serp-background); }
.serp-page-switcher button:hover:not([aria-selected="true"]),.serp-viewport-switcher button:hover:not([aria-selected="true"]) { background:var(--serp-layer-hover); color:var(--serp-text); }
.serp-page-switcher button:focus-visible,.serp-viewport-switcher button:focus-visible { z-index:1; outline:2px solid var(--serp-focus); outline-offset:-2px; }
.serp-viewport-switcher button { width:40px; padding:0; }
.serp-viewport-switcher svg { width:18px; height:18px; fill:currentColor; }
.serp-viewer-stage { display:flex; min-height:760px; justify-content:center; overflow:auto; padding:24px; background:var(--serp-stage); }
.serp-result-frame { display:block; width:100%; min-height:760px; border:0; background:#fff; color:#161616; transition:width 160ms cubic-bezier(.2,0,.38,.9); }
.serp-result-frame[hidden] { display:none; }
.serp-viewer-stage.is-mobile .serp-result-frame { width:min(390px,100%); }
.serp-viewer-empty { display:grid; min-height:560px; place-items:center; border-block:1px solid var(--serp-border); background:var(--serp-background); color:var(--serp-text-helper); }
.serp-viewer-empty p { font-size:14px; }
@media (prefers-reduced-motion:reduce) { .serp-result-frame { transition:none; } }
@media (max-width:1055px) {
  .serp-search-query,.serp-location-field { grid-column:span 8; }
  .serp-search-pages,.serp-search-submit { grid-column:span 4; }
}
@media (max-width:671px) {
  .serp-html-shell { gap:24px; }
  .serp-search-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .serp-search-query,.serp-location-field,.serp-search-pages,.serp-search-submit { grid-column:span 4; }
  .serp-location-popover { min-width:100%; }
  .serp-viewer-toolbar { align-items:flex-start; flex-direction:column; padding:16px 0; }
  .serp-viewer-actions { width:100%; justify-content:space-between; gap:8px; }
  .serp-viewer-stage { min-height:640px; padding:16px 0; }
  .serp-result-frame { min-height:640px; }
}

/* Site reference library */
body.reference-library-shell {
  --cds-background:var(--bg);
  --cds-layer-01:var(--card);
  --cds-layer-02:#202020;
  --cds-layer-hover-01:#262626;
  --cds-field-01:#161616;
  --cds-border-subtle-01:var(--border);
  --cds-border-strong-01:#525252;
  --cds-text-primary:var(--text);
  --cds-text-secondary:var(--muted);
  --cds-text-helper:#8d8d8d;
  --cds-link-primary:#78a9ff;
  --cds-button-primary:#0f62fe;
  --cds-button-primary-hover:#0353e9;
  --cds-support-success:#42be65;
  --cds-support-warning:#f1c21b;
  --cds-focus:#fff;
}
.reference-library-page { display:grid; gap:24px; max-width:1480px; margin:0 auto; color:var(--cds-text-primary); }
.reference-library-header { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding:8px 0 24px; border-bottom:1px solid var(--cds-border-subtle-01); }
.reference-library-header h1 { margin:4px 0 8px; font-size:32px; font-weight:400; letter-spacing:-.025em; line-height:1.2; text-wrap:balance; }
.reference-library-header p:last-child { max-width:672px; margin:0; color:var(--cds-text-secondary); line-height:1.5; text-wrap:pretty; }
.eyebrow { margin:0; color:var(--muted); font-size:11px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }

.reference-builder,.reference-pack-list { border:1px solid var(--cds-border-subtle-01); background:var(--cds-layer-01); }
.reference-builder-heading { display:grid; grid-template-columns:repeat(16,minmax(0,1fr)); border-bottom:1px solid var(--cds-border-subtle-01); }
.reference-builder-heading > div { display:flex; grid-column:span 8; align-items:center; padding:20px 24px; }
.reference-builder-heading h2,.reference-pack-list h2 { margin:0; font-size:18px; font-weight:400; line-height:1.3; }
.reference-builder-progress { display:grid; grid-column:span 8; grid-template-columns:repeat(3,minmax(0,1fr)); align-self:stretch; margin:0; padding:0; border-left:1px solid var(--cds-border-subtle-01); list-style:none; }
.reference-builder-progress li { display:flex; gap:8px; align-items:center; min-height:64px; padding:12px 16px; border-left:1px solid var(--cds-border-subtle-01); color:var(--cds-text-helper); font-size:12px; }
.reference-builder-progress li:first-child { border-left:0; }
.reference-builder-progress li[aria-current="step"] { color:var(--cds-text-primary); box-shadow:inset 0 -3px 0 var(--cds-button-primary); }
.reference-builder-progress li.is-complete { color:var(--cds-text-secondary); }
.reference-builder-progress span { display:grid; width:24px; height:24px; place-items:center; border:1px solid var(--cds-border-strong-01); color:inherit; font-size:11px; }
.reference-builder-progress li[aria-current="step"] span,.reference-builder-progress li.is-complete span { border-color:var(--cds-button-primary); background:var(--cds-button-primary); color:#fff; }
.reference-builder-form { display:grid; grid-template-columns:repeat(16,minmax(0,1fr)); }
.reference-wizard-step { display:grid; grid-column:5/span 8; gap:16px; min-width:0; min-height:320px; align-content:start; padding:40px 0 0; }
.reference-wizard-step[hidden] { display:none; }
.reference-step-count { margin:0; color:var(--cds-text-helper); font-size:12px; }
.reference-wizard-step h3 { margin:0 0 8px; font-size:24px; font-weight:400; line-height:1.25; }
.reference-wizard-step h3:focus-visible { outline:2px solid var(--cds-focus); outline-offset:4px; }
.reference-wizard-step > label,.reference-pack-form label { display:grid; gap:7px; color:var(--cds-text-primary); font-size:12px; font-weight:600; }
.reference-wizard-step > input,.reference-wizard-step > select,.reference-pack-form input,.reference-pack-form textarea,.reference-pack-form select { width:100%; min-height:48px; padding:10px 16px; border:0; border-bottom:1px solid var(--cds-border-strong-01); border-radius:0; background:var(--cds-field-01); color:var(--cds-text-primary); font:inherit; font-weight:400; }
.reference-wizard-step > input:focus,.reference-wizard-step > select:focus,.reference-pack-form input:focus,.reference-pack-form textarea:focus,.reference-pack-form select:focus { outline:2px solid var(--cds-focus); outline-offset:-2px; }
.reference-uploader { display:flex; align-items:center; gap:16px; min-height:112px; padding:24px; border:1px dashed var(--cds-border-strong-01); background:var(--cds-field-01); }
.reference-uploader.is-disabled { opacity:.55; }
.reference-uploader-input { position:absolute; width:1px!important; height:1px; min-height:0!important; margin:-1px; padding:0!important; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.reference-uploader-action { display:inline-flex!important; flex:none; align-items:center; justify-content:center; min-height:40px; padding:0 16px; border:1px solid var(--cds-link-primary); color:var(--cds-link-primary)!important; cursor:pointer; font-size:14px!important; font-weight:400!important; }
.reference-uploader-action:hover { background:rgba(15,98,254,.12); }
.reference-uploader-input:focus-visible + .reference-uploader-action { outline:2px solid var(--cds-focus); outline-offset:2px; }
.reference-uploader > span { color:var(--cds-text-helper); font-size:12px; line-height:1.4; }
.reference-file-selection { display:grid; gap:1px; margin:0; padding:0; background:var(--cds-border-subtle-01); list-style:none; }
.reference-file-selection li { display:flex; justify-content:space-between; gap:12px; min-width:0; padding:10px 12px; background:var(--cds-layer-02); font-size:12px; }
.reference-file-selection li span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reference-file-selection li small { color:var(--cds-text-helper); }
.reference-file-error { margin:0; padding:8px 12px; border-left:3px solid var(--cds-support-error,#da1e28); background:rgba(218,30,40,.1); color:var(--cds-text-primary); font-size:12px; }
.reference-step-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:auto; padding:24px 0; border-top:1px solid var(--cds-border-subtle-01); }
.reference-step-actions .btn { min-width:112px; min-height:48px; border-radius:0; }

.reference-pack-form { display:grid; gap:16px; padding:24px; }
.reference-pack-form input[type=file] { padding:9px; }
.reference-pack-form small { color:var(--muted); font-weight:400; }
.reference-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.reference-warning { color:var(--amber)!important; }
.reference-pack-list { display:grid; }
.reference-pack-list-heading { display:flex; min-height:64px; align-items:center; justify-content:space-between; gap:16px; padding:0 0 0 24px; border-bottom:1px solid var(--cds-border-subtle-01); }
.reference-pack-list-heading form { align-self:stretch; }
.reference-pack-list-heading select { height:100%; min-width:240px; padding:0 40px 0 16px; border:0; border-left:1px solid var(--cds-border-subtle-01); border-radius:0; background:var(--cds-field-01); color:var(--cds-text-primary); }
.reference-pack-card { border-bottom:1px solid var(--cds-border-subtle-01); }
.reference-pack-card:last-child { border-bottom:0; }
.reference-pack-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px; }
.reference-pack-card h3 { margin:0 0 4px; font-size:16px; font-weight:550; }
.reference-pack-card header p { margin:0; color:var(--cds-text-secondary); font-size:12px; }
.reference-asset-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; border-block:1px solid var(--cds-border-subtle-01); background:var(--cds-border-subtle-01); }
.reference-asset { position:relative; min-width:0; margin:0; background:var(--cds-background); }
.reference-asset img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--cds-layer-01); }
.reference-asset figcaption { display:grid; gap:3px; padding:12px 16px 16px; }
.reference-asset figcaption strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.reference-asset figcaption span { color:var(--cds-text-helper); font-size:10px; text-transform:capitalize; }
.reference-asset > form { position:absolute; top:8px; right:8px; }
.reference-asset > form button { display:grid; width:32px; height:32px; place-items:center; padding:0; border:1px solid rgba(255,255,255,.32); border-radius:0; background:rgba(0,0,0,.8); color:#fff; cursor:pointer; }
.reference-asset > form button:focus-visible { outline:2px solid var(--cds-focus); outline-offset:2px; }
.reference-empty-pack,.reference-library-empty { padding:48px 24px; color:var(--cds-text-secondary); text-align:center; }
.reference-library-empty { display:grid; gap:16px; place-items:center; border:1px dashed var(--cds-border-strong-01); background:var(--cds-layer-01); }
.reference-library-empty strong { color:var(--cds-text-primary); }
.reference-library-empty p { margin:5px 0 0; }
.reference-pack-manage { border-top:1px solid var(--cds-border-subtle-01); }
.reference-pack-manage summary { min-height:48px; padding:15px 24px; cursor:pointer; color:var(--cds-text-secondary); font-size:12px; font-weight:600; }
.reference-pack-manage summary:focus-visible { outline:2px solid var(--cds-focus); outline-offset:-2px; }
.reference-pack-manage > div { display:grid; grid-template-columns:1fr 1fr; gap:1px; border-top:1px solid var(--cds-border-subtle-01); background:var(--cds-border-subtle-01); }
.reference-pack-form.compact { align-content:start; background:var(--cds-layer-01); }
.reference-asset-settings { display:grid; align-content:start; gap:10px; padding:24px; background:var(--cds-layer-01); }
.reference-asset-settings > strong { font-size:12px; }
.reference-asset-settings form { display:grid; grid-template-columns:minmax(160px,1fr) auto; gap:8px; align-items:end; padding-top:12px; border-top:1px solid var(--cds-border-subtle-01); }
.reference-asset-settings label { display:grid; gap:4px; color:var(--cds-text-secondary); font-size:10px; font-weight:600; }
.reference-asset-settings input,.reference-asset-settings select { width:100%; min-height:40px; padding:6px 8px; border:0; border-bottom:1px solid var(--cds-border-strong-01); border-radius:0; background:var(--cds-field-01); color:var(--cds-text-primary); font-size:11px; }
.reference-pack-manage > div > form:last-child { grid-column:1/-1; padding:16px 24px; background:var(--cds-layer-01); }
.reference-delete { color:#ff8389; }

@media (max-width:1055px) {
  .reference-builder-heading,.reference-builder-form { grid-template-columns:repeat(8,minmax(0,1fr)); }
  .reference-builder-heading > div,.reference-builder-progress { grid-column:span 4; }
  .reference-wizard-step { grid-column:2/span 6; }
}
@media (max-width:671px) {
  .reference-library-header { align-items:flex-start; flex-direction:column; }
  .reference-builder-heading,.reference-builder-form { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .reference-builder-heading > div,.reference-builder-progress,.reference-wizard-step { grid-column:span 4; }
  .reference-builder-heading > div { padding:16px; }
  .reference-builder-progress { border-top:1px solid var(--cds-border-subtle-01); border-left:0; }
  .reference-builder-progress li { min-height:56px; padding:8px; }
  .reference-wizard-step { min-height:360px; padding:32px 16px 0; }
  .reference-uploader { align-items:flex-start; flex-direction:column; }
  .reference-step-actions { padding-bottom:16px; }
  .reference-form-grid,.reference-pack-manage > div { grid-template-columns:1fr; }
  .reference-asset-settings form { grid-template-columns:1fr 1fr; }
  .reference-asset-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reference-pack-list-heading { align-items:stretch; flex-direction:column; padding:16px 0 0 16px; }
  .reference-pack-list-heading select { width:100%; min-height:48px; border-top:1px solid var(--cds-border-subtle-01); border-left:0; }
}

/* ── Generated content workbench — Carbon responsive layout ─────────── */
body.content-workbench-page {
  --cds-background:#161616;
  --cds-layer-01:#262626;
  --cds-layer-hover-01:#333333;
  --cds-border-strong-01:#525252;
  --cds-border-subtle-01:#393939;
  --cds-text-primary:#f4f4f4;
  --cds-text-secondary:#c6c6c6;
  --cds-text-helper:#8d8d8d;
  --cds-button-primary:#0f62fe;
  --cds-button-primary-hover:#0353e9;
  --cds-focus:#ffffff;
  --content-background:var(--cds-background);
  --content-layer:var(--cds-layer-01);
  --content-layer-hover:var(--cds-layer-hover-01);
  --content-border:var(--cds-border-strong-01);
  --content-border-subtle:var(--cds-border-subtle-01);
  --content-text:var(--cds-text-primary);
  --content-text-secondary:var(--cds-text-secondary);
  --content-text-helper:var(--cds-text-helper);
  --content-interactive:var(--cds-button-primary);
  --content-interactive-hover:var(--cds-button-primary-hover);
  --content-focus:var(--cds-focus);
  --content-command-sticky-offset:64px;
  background:var(--content-background);
}
.content-workbench-page .app { grid-template-columns:224px minmax(0,1fr); }
.content-workbench-page .main { overflow:visible; background:var(--content-background); }
.content-workbench-page .page { width:100%; max-width:1584px; padding:0 32px 64px; }
.content-workbench-page [id] { scroll-margin-top:calc(var(--content-command-sticky-offset) + 64px); }
.content-workbench { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; min-width:0; }
.content-command-bar {
  position:sticky;
  z-index:45;
  top:0;
  display:grid;
  grid-template-columns:repeat(16,minmax(0,1fr));
  column-gap:16px;
  row-gap:0;
  min-width:0;
  margin:0 -32px;
  padding:0 32px;
  border-bottom:1px solid var(--content-border);
  background:var(--content-background);
}
.content-command-title { grid-column:span 6; display:flex; min-width:0; min-height:64px; flex-direction:column; justify-content:center; padding-right:16px; }
.content-command-title h1 { margin:0; overflow:hidden; color:var(--content-text); font-size:18px; font-weight:400; letter-spacing:0; line-height:1.25; text-overflow:ellipsis; text-wrap:balance; white-space:nowrap; }
.content-command-title > p:last-child { margin:3px 0 0; overflow:hidden; color:var(--content-text-helper); font-size:12px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.content-thin-data { color:var(--amber); }
.content-command-actions { grid-column:span 10; display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); min-width:0; min-height:64px; align-items:stretch; gap:0; }
.content-command-actions > * { min-width:0; }
.content-command-actions form { grid-column:span 3; margin:0; }
.content-command-actions .btn,
.content-command-actions select { width:100%; min-height:64px; border-width:0 0 0 1px; border-radius:0; }
.content-command-actions .btn { display:flex; min-height:64px; align-items:center; justify-content:center; padding:0 12px; border-width:0 0 0 1px; }
.content-command-actions .content-primary-action { grid-column:span 2; order:4; min-width:0; border-color:var(--content-interactive); background:var(--content-interactive); color:#fff; font-weight:500; }
.content-command-actions .content-primary-action:hover:not(:disabled) { border-color:var(--content-interactive-hover); background:var(--content-interactive-hover); color:#fff; }
.content-command-actions .content-primary-action:focus-visible { outline:2px solid var(--content-focus); outline-offset:-4px; }
.content-workbench .content-primary-action { border-color:var(--content-interactive); background:var(--content-interactive); color:#fff; font-weight:500; }
.content-workbench .content-primary-action:hover:not(:disabled) { border-color:var(--content-interactive-hover); background:var(--content-interactive-hover); color:#fff; }
.content-workbench .content-primary-action:focus-visible { outline:2px solid var(--content-focus); outline-offset:-4px; }
.content-analysis-link { grid-column:span 2; order:3; }
.content-connection { grid-column:span 3; order:2; display:grid; grid-template-columns:8px minmax(0,1fr); align-content:center; align-items:center; gap:1px 8px; min-width:0; max-width:none; min-height:64px; padding:8px 12px; border:0; border-left:1px solid var(--content-border); color:var(--content-text-secondary); text-decoration:none; }
.content-connection:hover { border-color:var(--content-border); background:var(--content-layer-hover); color:var(--content-text); text-decoration:none; }
.content-connection:focus-visible { outline:2px solid var(--content-focus); outline-offset:-2px; }
.content-connection > span { grid-row:1 / 3; width:8px; height:8px; border-radius:50%; background:var(--green); }
.content-connection strong { overflow:hidden; color:var(--content-text-secondary); font-size:10px; font-weight:600; letter-spacing:.06em; line-height:1.2; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.content-connection em { overflow:hidden; color:var(--content-text-helper); font-size:10px; font-style:normal; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.content-connection { background:transparent; font:inherit; text-align:left; cursor:pointer; }
.content-connection small { grid-column:2; color:var(--content-text); font-size:11px; line-height:1.4; }
.content-connection[data-connected="false"] > span { background:var(--content-text-helper); }
#content-site-dialog { width:min(560px,calc(100vw - 32px)); }
#content-site-dialog .carbon-map-body { gap:16px; }
#content-site-dialog p { margin:0; overflow-wrap:anywhere; }
#content-site-error { color:var(--bad); }
#content-site-save:disabled { opacity:.5; cursor:not-allowed; }
.content-workbench .content-generation-control { grid-column:span 3; order:1; min-width:0; }
.content-workbench .content-generation-control > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.content-workbench .content-generation-control select { width:100%; max-width:none; min-height:64px; border-radius:0; background:var(--content-layer); }
.content-score-strip {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  column-gap:0;
  row-gap:0;
  border-block:1px solid var(--content-border-subtle);
  background:transparent;
}
.content-score-strip .kpi { min-width:0; min-height:104px; margin:0; padding:18px 16px; border:0; border-right:1px solid var(--content-border-subtle); border-radius:0; background:transparent; }
.content-score-strip .kpi:last-child { border-right:0; }
.content-score-strip .kpi-value { margin:0 0 5px; color:var(--content-text); font-size:24px; font-weight:400; font-variant-numeric:tabular-nums; line-height:1; }
.content-score-strip .kpi-label { color:var(--content-text-helper); font-size:10px; font-weight:600; letter-spacing:.07em; line-height:1.35; }
.content-score-strip .text-green { color:var(--green); }
.content-score-strip .text-amber { color:var(--amber); }
.content-workbench .content-notification-line { margin:-8px 0 0; }
.content-tabs { position:relative; gap:0; margin:0; overflow-x:auto; border-bottom-color:var(--content-border); scrollbar-width:none; }
.content-tabs::-webkit-scrollbar { display:none; }
.content-tabs .tab { min-width:112px; min-height:48px; margin:0; padding:0 16px; border-bottom-width:3px; border-radius:0; color:var(--content-text-secondary); font-size:14px; font-weight:400; text-align:left; white-space:nowrap; }
.content-tabs .tab:hover { background:var(--content-layer-hover); color:var(--content-text); }
.content-tabs .tab.active { border-bottom-color:var(--content-interactive); color:var(--content-text); }
.content-tabs .tab:focus-visible { outline:2px solid var(--content-focus); outline-offset:-2px; }
.recommended-alt-section { min-width:0; border-block:1px solid var(--content-border-subtle); }
.recommended-alt-section .data { width:100%; border:0; background:transparent; }
.recommended-alt-section .data thead th { height:48px; padding:0 16px; border:0; border-bottom:1px solid var(--content-border-subtle); background:transparent; color:var(--content-text-helper); font-size:11px; font-weight:600; letter-spacing:.07em; line-height:48px; text-transform:uppercase; }
.recommended-alt-section .data td { padding:0; border:0; border-bottom:1px solid var(--content-border-subtle); background:transparent; }
.recommended-alt-section .recommended-alt-actions { display:grid; grid-template-columns:80px 48px minmax(0,1fr); gap:0; min-height:48px; align-items:stretch; }
.recommended-alt-section .recommended-alt-actions .btn { width:100%; min-width:0; height:48px; margin:0; padding:0; border:0; border-right:1px solid var(--content-border-subtle); background:transparent; }
.recommended-alt-section .recommended-alt-actions .btn:hover { background:var(--content-layer-hover); }
.recommended-alt-section .recommended-alt-input { width:100%; min-width:0; height:48px; padding:0 16px; border:0; background:transparent; color:var(--content-text); font-size:14px; }
.recommended-alt-section .recommended-alt-input:focus-visible { outline:2px solid var(--content-focus); outline-offset:-2px; }
.recommended-alt-section .recommended-alt-add { min-height:48px; margin:0; padding:0 16px; border:0; border-right:1px solid var(--content-border-subtle); background:transparent; }
.recommended-alt-section .recommended-alt-add:hover { background:var(--content-layer-hover); }
.recommended-alt-section #recommended-alt-save-status { display:inline-flex; min-height:48px; align-items:center; padding:0 12px; }
.content-image-gallery { min-width:0; border-block:1px solid var(--content-border-subtle); }
.content-image-gallery-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; min-height:64px; align-items:stretch; border-bottom:1px solid var(--content-border-subtle); }
.content-image-gallery-heading > div { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:12px 16px; }
.content-image-gallery-heading h2 { margin:0; color:var(--content-text); font-size:14px; font-weight:500; line-height:1.3; }
.content-image-gallery-heading p { margin:3px 0 0; color:var(--content-text-helper); font-size:11px; line-height:1.4; }
.content-image-gallery-heading code { color:var(--content-text-secondary); }
.content-image-sync { display:flex; margin:0; }
.content-image-sync .btn { min-width:144px; min-height:64px; margin:0; padding:0 16px; border-width:0 0 0 1px; border-color:var(--content-border-subtle); background:var(--content-layer); color:var(--content-text); }
.content-image-sync .btn:hover { border-color:var(--content-border-subtle); background:var(--content-layer-hover); color:var(--content-text); }
.content-image-sync .btn:focus-visible { outline:2px solid var(--content-focus); outline-offset:-2px; }
.content-image-thumbnail { display:block; width:88px; height:56px; object-fit:cover; border-radius:0; background:var(--content-layer); }
.content-workbench .card { border-radius:0; box-shadow:none; }
.content-workbench .btn,
.content-workbench input,
.content-workbench select,
.content-workbench textarea { border-radius:0; }
.content-workbench .content-toolbar {
  top:var(--content-command-sticky-offset);
  z-index:40;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  min-height:48px;
  padding:0;
  border:0;
  border-bottom:1px solid var(--content-border-subtle);
  border-radius:0;
  background:var(--content-background);
  box-shadow:none;
  backdrop-filter:none;
}
.content-workbench .content-toolbar-actions {
  display:flex;
  align-items:stretch;
  justify-content:flex-start;
  flex-wrap:nowrap;
  gap:0;
  min-height:48px;
  overflow-x:auto;
  background:var(--content-layer);
  scrollbar-color:var(--content-border) var(--content-layer);
  scrollbar-width:thin;
}
.content-workbench .content-toolbar-actions > *,
.content-workbench .content-toolbar-actions form .btn { width:auto; flex:0 0 auto; }
.content-workbench .content-toolbar-actions::-webkit-scrollbar { display:block; height:4px; }
.content-workbench .content-toolbar-actions::-webkit-scrollbar-thumb { background:var(--content-border); }
.content-workbench .content-toolbar-actions .btn,
.content-workbench .content-block-format select,
.content-workbench .content-link-editor input {
  min-height:48px;
  padding:0 16px;
  border:0;
  border-right:1px solid var(--content-border-subtle);
  background:var(--content-layer);
  color:var(--content-text);
  font-size:12px;
  font-weight:500;
}
.content-workbench .content-toolbar-actions .btn:hover:not(:disabled),
.content-workbench .content-block-format select:hover:not(:disabled) { border-color:var(--content-border-subtle); background:var(--content-layer-hover); color:var(--content-text); }
.content-workbench .content-toolbar-actions .btn:focus-visible,
.content-workbench .content-block-format select:focus-visible,
.content-workbench .content-link-editor input:focus-visible,
.content-workbench .content-toolbar-rank-select:focus-visible { outline:2px solid var(--content-focus); outline-offset:-2px; box-shadow:none; }
.content-workbench .content-toolbar-actions .btn.primary { border-color:var(--content-interactive); background:var(--content-interactive); color:#fff; }
.content-workbench .content-toolbar-actions .btn.primary:hover:not(:disabled) { border-color:var(--content-interactive-hover); background:var(--content-interactive-hover); color:#fff; }
.content-workbench .content-toolbar-actions .btn:disabled,
.content-workbench .content-block-format select:disabled { border-color:var(--content-border-subtle); background:var(--content-layer); color:var(--content-text-helper); opacity:1; }
.content-workbench .content-block-format select { min-width:72px; }
.content-workbench .content-link-editor { gap:0; min-width:360px; }
.content-workbench .content-link-editor input { width:224px; min-width:160px; outline:0; }
.content-workbench .content-toolbar-rank { display:flex; margin:0; background:var(--content-layer); }
.content-workbench .content-toolbar-rank-select {
  min-width:112px;
  min-height:48px;
  padding:0 32px 0 16px;
  border:0;
  border-left:1px solid var(--content-border-subtle);
  border-radius:0;
  background-color:var(--content-layer);
  color:var(--content-text);
  font-size:12px;
  font-weight:500;
}
.content-workbench .content-toolbar-rank-select:hover { border-color:var(--content-border-subtle); background-color:var(--content-layer-hover); }
.content-workbench .content-toolbar-rank-select option { background:var(--content-layer); color:var(--content-text); }
.content-workbench .content-toolbar-score {
  min-width:112px;
  min-height:48px;
  margin:0;
  padding:0 16px;
  border-left:1px solid var(--content-border-subtle);
  align-items:flex-end;
  background:var(--content-background);
}
.content-workbench .content-toolbar-score span { font-size:18px; font-weight:400; font-variant-numeric:tabular-nums; }
.content-workbench .content-toolbar-score small { color:var(--content-text-helper); font-size:9px; font-weight:600; letter-spacing:.07em; }
.content-workbench .content-save-status { width:auto; margin-left:auto; color:var(--content-text-helper); }
.content-workbench .astro-publish-dialog { border-color:var(--content-border); border-radius:0; background:var(--content-layer); box-shadow:0 24px 72px rgba(0,0,0,.72); }
.content-workbench .astro-publish-dialog-head,
.content-workbench .astro-publish-actions { border-color:var(--content-border); }
.content-workbench .astro-publish-dialog-head .eyebrow { color:#78a9ff; }
.content-workbench .astro-publish-dialog-close:focus-visible { outline-color:var(--content-focus); }
.content-workbench .astro-push-proof { border-radius:0; border-color:var(--content-border); background:var(--content-background); }
.content-workbench .astro-push-proof span::before { border-radius:0; background:#78a9ff; }
.universal-publish-destination { display:grid; gap:8px; }
.universal-publish-destination select,
.universal-publish-destination input { width:100%; min-height:48px; padding:0 16px; border:0; border-bottom:1px solid var(--content-border); background:var(--content-background); color:var(--content-text); font:inherit; }
.universal-publish-destination select:focus-visible,
.universal-publish-destination input:focus-visible { outline:2px solid var(--content-focus); outline-offset:-2px; }

@media (max-width:1055px) {
  body.content-workbench-page { --content-command-sticky-offset:104px; }
  .content-workbench-page .app { grid-template-columns:1fr; }
  .content-workbench-page .sidebar { display:none; }
  .content-workbench-page .page { max-width:none; padding-inline:24px; }
  .content-command-bar { grid-template-columns:repeat(8,minmax(0,1fr)); margin-inline:-24px; padding-inline:24px; }
  .content-command-title,.content-command-actions { grid-column:span 8; }
  .content-command-title { min-height:56px; padding-right:0; }
  .content-command-actions { grid-template-columns:repeat(8,minmax(0,1fr)); min-height:48px; }
  .content-workbench .content-generation-control,.content-command-actions .content-connection { grid-column:span 3; }
  .content-command-actions .content-analysis-link,.content-command-actions .content-primary-action { grid-column:span 1; }
  .content-command-actions .btn,.content-command-actions select,.content-command-actions .content-generation-control select,.content-command-actions .content-connection { min-height:48px; }
}

@media (max-width:671px) {
  body.content-workbench-page { --content-command-sticky-offset:152px; }
  .content-workbench-page .page { padding:0 16px calc(48px + env(safe-area-inset-bottom)); }
  .content-workbench { gap:16px; }
  .content-command-bar { grid-template-columns:repeat(4,minmax(0,1fr)); margin-inline:-16px; padding:0 16px; }
  .content-command-title,.content-command-actions { grid-column:span 4; }
  .content-command-title h1 { font-size:18px; }
  .content-command-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
  .content-command-actions .content-primary-action { grid-column:span 3; width:100%; order:4; }
  .content-command-actions .content-analysis-link { grid-column:span 1; order:3; min-width:0; padding-inline:10px; }
  .content-command-actions .content-generation-control,
  .content-command-actions .content-connection { grid-column:span 2; width:100%; max-width:none; }
  .content-command-actions .content-site-selector { grid-column:span 4; width:100%; max-width:none; }
  .content-score-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .content-score-strip .content-score-primary { grid-column:span 2; border-right:0; }
  .content-score-strip .kpi { min-height:88px; border-top:1px solid var(--content-border-subtle); }
  .content-score-strip .kpi:nth-child(3) { border-right:0; }
  .content-score-strip .kpi:nth-child(4) { border-right:1px solid var(--content-border-subtle); }
  .content-score-strip .kpi:nth-child(5) { border-right:0; }
  .content-tabs .tab { flex:1 0 auto; min-width:104px; padding-inline:12px; }
  .content-workbench .card { padding-inline:16px; }
  .content-workbench .content-editor-card { padding-inline:0; }
  .content-workbench .content-toolbar { grid-template-columns:minmax(0,1fr) 104px 88px; }
  .content-workbench .content-toolbar-rank-select { min-width:104px; padding-inline:12px 28px; }
  .content-workbench .content-toolbar-score { min-width:88px; padding-inline:12px; }
  .content-workbench .content-toolbar-score small { display:none; }
  .content-workbench .recommended-alt-actions { display:grid; grid-template-columns:64px 48px minmax(0,1fr); gap:0; }
  .content-workbench .recommended-alt-input { min-width:0; }
  .content-image-gallery-heading { grid-template-columns:minmax(0,1fr); }
  .content-image-sync .btn { width:100%; min-height:48px; border-width:1px 0 0; }
  .content-workbench .astro-publish-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
  .content-workbench .astro-publish-form { max-height:calc(100dvh - 16px); }
}

/* Image direction follows the reference library's Carbon fields and focus states. */
.reference-direction { display:grid; gap:10px; margin-top:16px; }
.reference-direction label,.image-direction-field { display:grid; gap:7px; font-size:12px; }
.reference-direction textarea,.image-direction-field textarea { box-sizing:border-box; width:100%; min-height:80px; padding:12px 16px; border:0; border-bottom:1px solid var(--cds-border-strong-01); border-radius:0; background:var(--cds-field-01); color:var(--cds-text-primary); font:inherit; resize:vertical; }
.reference-direction textarea:focus-visible,.image-direction-field textarea:focus-visible,.reference-asset-settings input:focus-visible,.reference-asset-settings select:focus-visible { outline:2px solid var(--cds-focus); outline-offset:-2px; }
.reference-direction small,.reference-asset-settings > small { color:var(--cds-text-secondary); line-height:1.5; font-size:12px; font-weight:400; }
.reference-direction-presets { display:flex; flex-wrap:wrap; gap:8px; }
.reference-direction-presets .btn { min-height:40px; white-space:normal; text-align:left; }
.reference-asset-settings form { grid-template-columns:minmax(0,1fr); }
.reference-asset-settings label { font-size:12px; }
.image-direction-field { margin:12px 0; }

.analysis-term-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.analysis-term-heading { display: flex; align-items: center; gap: 8px; }
.analysis-term-add { width: 28px; height: 28px; min-height: 28px; padding: 0; font-size: 20px; line-height: 1; }
.analysis-term-add:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.manual-term-form { display: grid; gap: 8px; margin: 12px 0; }
.manual-term-form[hidden] { display: none; }
@media (max-width: 640px) { .analysis-term-grid { grid-template-columns: 1fr; } }

/* ── Light theme: Carbon sub-palettes (g10/white values) ──────────────
   These screens keep their own Carbon token sets; light mode swaps each set
   for its Carbon light equivalent. */
:root[data-theme="light"] .analysis-form-shell {
  --cds-background:#ffffff;
  --cds-layer-01:#f4f4f4;
  --cds-layer-hover-01:#e8e8e8;
  --cds-border-subtle-01:#e0e0e0;
  --cds-border-strong-01:#8d8d8d;
  --cds-text-primary:#161616;
  --cds-text-secondary:#525252;
  --cds-text-helper:#6f6f6f;
  --cds-interactive:#0f62fe;
  --cds-interactive-hover:#0353e9;
  --cds-focus:#0f62fe;
  --cds-background-inverse:#393939;
  --cds-text-inverse:#ffffff;
  --cds-layer-selected-inverse:#161616;
  --cds-border-inverse:#161616;
  --analysis-text:#161616;
}
:root[data-theme="light"] .cds-analysis-form .btn.primary,
:root[data-theme="light"] .cds-analysis-form .btn.primary:hover { color:#ffffff; }
:root[data-theme="light"] #original-research {
  --cds-layer-01:#ffffff;
  --cds-border-subtle-01:#e0e0e0;
  --cds-border-strong-01:#8d8d8d;
  --cds-text-primary:#161616;
  --cds-field-02:#f4f4f4;
  --cds-focus:#0f62fe;
}
:root[data-theme="light"] .serp-html-shell {
  --serp-background:#f4f4f4;
  --serp-layer:#ffffff;
  --serp-layer-hover:#e8e8e8;
  --serp-border:#c6c6c6;
  --serp-text:#161616;
  --serp-text-secondary:#525252;
  --serp-text-helper:#6f6f6f;
  --serp-focus:#0f62fe;
  --serp-stage:#e0e0e0;
}
:root[data-theme="light"] body.reference-library-shell {
  --cds-layer-02:#f4f4f4;
  --cds-layer-hover-01:#e8e8e8;
  --cds-field-01:#f4f4f4;
  --cds-border-strong-01:#8d8d8d;
  --cds-text-secondary:#525252;
  --cds-text-helper:#6f6f6f;
  --cds-link-primary:#0f62fe;
  --cds-support-success:#198038;
  --cds-support-warning:#8e6a00;
  --cds-focus:#0f62fe;
}
:root[data-theme="light"] .reference-delete { color:#da1e28; }
:root[data-theme="light"] body.content-workbench-page {
  --cds-background:#f4f4f4;
  --cds-layer-01:#ffffff;
  --cds-layer-hover-01:#e8e8e8;
  --cds-border-strong-01:#8d8d8d;
  --cds-border-subtle-01:#e0e0e0;
  --cds-text-primary:#161616;
  --cds-text-secondary:#525252;
  --cds-text-helper:#6f6f6f;
  --cds-focus:#0f62fe;
}
:root[data-theme="light"] .content-workbench .astro-publish-dialog-head .eyebrow { color:#0f62fe; }
:root[data-theme="light"] .content-workbench .astro-push-proof span::before { background:#0f62fe; }

/* ── Light theme: fixed accents that were tuned for dark backgrounds ── */
:root[data-theme="light"] .schema-share-button { color:var(--sky-text); }
:root[data-theme="light"] .schema-share-button:hover { color:var(--text); }
:root[data-theme="light"] .schema-share-button.is-copied { color:var(--green); }
:root[data-theme="light"] .schema-share-button.is-error { color:var(--red); }
:root[data-theme="light"] .astro-publish-dialog,
:root[data-theme="light"] .astro-publish-form select,
:root[data-theme="light"] .astro-publish-form input { color-scheme:light; }
:root[data-theme="light"] .site-search-dialog,
:root[data-theme="light"] .astro-publish-dialog,
:root[data-theme="light"] .carbon-map-dialog,
:root[data-theme="light"] .content-workbench .astro-publish-dialog,
:root[data-theme="light"] .auth-card { box-shadow:var(--shadow-lg); }
:root[data-theme="light"] .astro-publish-dialog::backdrop,
:root[data-theme="light"] .carbon-map-dialog::backdrop { background:var(--overlay); }
:root[data-theme="light"] .location-suggestions,
:root[data-theme="light"] .serp-location-popover,
:root[data-theme="light"] .analysis-choice-tooltip { box-shadow:var(--shadow); }
:root[data-theme="light"] .content-toolbar,
:root[data-theme="light"] .icon-btn:hover { box-shadow:0 6px 16px rgba(23,23,40,.08); }
:root[data-theme="light"] .badge-ok { background:#1f7a3f; }
:root[data-theme="light"] .badge-warn { background:#8a5a00; }
:root[data-theme="light"] .schema-generation-form-card input,
:root[data-theme="light"] .schema-generation-form-card textarea,
:root[data-theme="light"] .schema-generation-form-card select { background:var(--bg-card); box-shadow:inset 0 0 0 1px var(--border); }
:root[data-theme="light"] .schema-generation-form-card input:focus,
:root[data-theme="light"] .schema-generation-form-card textarea:focus,
:root[data-theme="light"] .schema-generation-form-card select:focus { box-shadow:0 0 0 2px var(--sky); }

/* ── Core-page refinement layer ─────────────────────────────────────
   One calm design language for the theme-aware core pages (New page, All
   pages, Select, Analysis, Content and the other opted-in screens). Every
   rule is scoped to html[data-theme-scope="auto"], so fixed-theme pages
   (Astro, Site Factory, social, ads) are untouched. Tokens below switch with
   data-theme, so each rule serves both light and dark. */
:root[data-theme-scope="auto"] {
  --r-ctl:        10px;
  --r-card:       16px;
  --ctl-h:        40px;
  --field-bg:     #101015;
  --field-border: #2a2a33;
  --field-hover:  #3a3a45;
  --seg-track:    #0f0f13;
  --seg-chip:     #24242c;
  --seg-chip-shadow: 0 1px 2px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.06);
  --surface-shadow: 0 1px 2px rgba(0,0,0,.28);
  --soft-fill:    rgba(255,255,255,.055);
  --divider:      #222229;
  --score-good:   var(--green);
  --score-warn:   var(--amber);
  --score-bad:    var(--red);
}
:root[data-theme-scope="auto"][data-theme="light"] {
  --bg:           #f6f6f9;
  --border:       #e4e4eb;
  --field-bg:     #ffffff;
  --field-border: #d9d9e2;
  --field-hover:  #bfbfcc;
  --seg-track:    #efeff4;
  --seg-chip:     #ffffff;
  --seg-chip-shadow: 0 1px 2px rgba(16,16,24,.08), 0 0 0 1px rgba(16,16,24,.06);
  --surface-shadow: 0 1px 2px rgba(16,16,24,.04), 0 4px 16px rgba(16,16,24,.04);
  --card-shadow:  var(--surface-shadow);
  --soft-fill:    rgba(16,16,24,.05);
  --divider:      #ececf2;
}

/* Sidebar icons only render on theme-aware pages. */
.nav-icon { display:none; }
html[data-theme-scope="auto"] .nav-icon { display:block; flex:0 0 16px; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; opacity:.78; }
html[data-theme-scope="auto"] .sidebar { padding:16px 0 14px; }
html[data-theme-scope="auto"] .brand { padding:4px 20px 18px; margin-bottom:10px; border-bottom-color:var(--divider); }
html[data-theme-scope="auto"] .wordmark { font-size:18px; font-weight:700; letter-spacing:-.03em; }
html[data-theme-scope="auto"] .nav { gap:2px; padding:0 10px; }
html[data-theme-scope="auto"] .nav a { gap:10px; min-height:36px; padding:0 10px; border-radius:9px; color:var(--text-2); font-size:13.5px; font-weight:500; letter-spacing:-.005em; }
html[data-theme-scope="auto"] .nav a:hover { background:var(--soft-fill); color:var(--text); }
html[data-theme-scope="auto"] .nav a:hover .nav-icon { opacity:1; }
html[data-theme-scope="auto"] .nav a.active { background:var(--accent-soft); color:var(--accent-text); font-weight:600; }
html[data-theme-scope="auto"] .nav a.active .nav-icon { opacity:1; }
html[data-theme-scope="auto"] .sidebar-footer { gap:6px; margin:auto 10px 0; padding:12px 0 0; border-top-color:var(--divider); }
html[data-theme-scope="auto"] .sidebar-footer button { display:inline-flex; align-items:center; gap:7px; min-height:32px; padding:0 10px; border-radius:8px; color:var(--text-2); font-size:12.5px; font-weight:500; }
html[data-theme-scope="auto"] .sidebar-footer button:hover { background:var(--soft-fill); color:var(--text); }
html[data-theme-scope="auto"] .sidebar-footer .theme-toggle { border:1px solid var(--border); }
html[data-theme-scope="auto"] .sidebar-footer .theme-toggle[hidden] { display:none; }

/* Page frame and typography. */
html[data-theme-scope="auto"] body:not(.content-workbench-page) .page { max-width:1200px; margin-inline:auto; padding:32px 32px 64px; }
html[data-theme-scope="auto"] .page-header { align-items:flex-start; margin-bottom:24px; }
html[data-theme-scope="auto"] .page-header h1,
html[data-theme-scope="auto"] .selection-page-head h1 { margin:2px 0 6px; color:var(--text); font-size:27px; font-weight:650; line-height:1.2; letter-spacing:-.02em; }
html[data-theme-scope="auto"] .page-intro,
html[data-theme-scope="auto"] .page-header .muted,
html[data-theme-scope="auto"] .selection-page-head p { color:var(--text-2); font-size:13px; }
html[data-theme-scope="auto"] .eyebrow { color:var(--text-3); font-size:12.5px; font-weight:500; letter-spacing:0; text-transform:none; }
html[data-theme-scope="auto"] .card-title { margin-bottom:12px; color:var(--text); font-size:16px; font-weight:600; letter-spacing:-.01em; text-transform:none; line-height:1.35; }
html[data-theme-scope="auto"] .card h2 { letter-spacing:-.015em; }
html[data-theme-scope="auto"] .muted { color:var(--text-3); }
html[data-theme-scope="auto"] .kpi-label,
html[data-theme-scope="auto"] .form-group label,
html[data-theme-scope="auto"] .nav-section { font-size:12.5px; font-weight:500; letter-spacing:0; text-transform:none; }
html[data-theme-scope="auto"] .kpi-value,
html[data-theme-scope="auto"] table td,
html[data-theme-scope="auto"] .pill,
html[data-theme-scope="auto"] .generation-metrics { font-variant-numeric:tabular-nums; }

/* Surfaces. */
html[data-theme-scope="auto"] .card { border-color:var(--border); border-radius:var(--r-card); padding:24px; margin-bottom:16px; background:var(--bg-card); box-shadow:var(--surface-shadow); }
html[data-theme-scope="auto"] .card[style*="padding:0"] > .card-title { padding:20px 24px 4px!important; }
html[data-theme-scope="auto"] .card[style*="padding:0"] > p.muted[style*="padding:0 20px"] { padding:0 24px!important; }
html[data-theme-scope="auto"] .kpi-grid { gap:12px; margin-bottom:16px; }
html[data-theme-scope="auto"] .card .kpi { border:0; border-radius:12px; padding:16px 18px; background:var(--soft-fill); }
html[data-theme-scope="auto"] .kpi-value { font-size:26px; font-weight:650; letter-spacing:-.02em; margin-bottom:2px; }
html[data-theme-scope="auto"] .card .kpi-label { color:var(--text-3); }

/* Buttons: one primary, one secondary, one ghost. */
html[data-theme-scope="auto"] .btn { min-height:var(--ctl-h); padding:0 16px; gap:7px; border:1px solid var(--border); border-radius:var(--r-ctl); background:var(--bg-card); color:var(--text); font-size:13.5px; font-weight:550; letter-spacing:-.005em; line-height:1.2; box-shadow:0 1px 1px rgba(0,0,0,.04); transition:background-color .15s, border-color .15s, color .15s, box-shadow .15s; }
html[data-theme-scope="auto"] .btn:hover:not(:disabled) { border-color:var(--field-hover); background:var(--bg-hover); color:var(--text); }
html[data-theme-scope="auto"] .btn.primary,
html[data-theme-scope="auto"] .btn.accent { border-color:transparent; background:var(--accent-2); color:var(--text-on-accent); box-shadow:0 1px 2px rgba(55,48,163,.25), inset 0 1px 0 rgba(255,255,255,.12); }
html[data-theme-scope="auto"] .btn.primary:hover:not(:disabled),
html[data-theme-scope="auto"] .btn.accent:hover:not(:disabled) { border-color:transparent; background:var(--accent); color:var(--text-on-accent); }
html[data-theme-scope="auto"][data-theme="light"] .btn.primary:hover:not(:disabled),
html[data-theme-scope="auto"][data-theme="light"] .btn.accent:hover:not(:disabled) { background:#3730a3; }
html[data-theme-scope="auto"] .btn.subtle,
html[data-theme-scope="auto"] .btn.ghost { border-color:transparent; background:transparent; box-shadow:none; color:var(--text-2); }
html[data-theme-scope="auto"] .btn.subtle:hover,
html[data-theme-scope="auto"] .btn.ghost:hover { background:var(--soft-fill); color:var(--text); }
html[data-theme-scope="auto"] .btn.danger { color:var(--red); border-color:color-mix(in srgb,var(--red) 28%,var(--border)); }
html[data-theme-scope="auto"] .btn.danger:hover:not(:disabled) { background:var(--red-soft); border-color:color-mix(in srgb,var(--red) 50%,var(--border)); color:var(--red); }
html[data-theme-scope="auto"] .btn:disabled,
html[data-theme-scope="auto"] .btn.disabled { box-shadow:none; }
html[data-theme-scope="auto"] .btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
html[data-theme-scope="auto"] .copy-btn { min-height:28px; padding:0 10px; border-radius:8px; font-size:12px; }
html[data-theme-scope="auto"] table .btn { min-height:32px; padding:0 12px; border-radius:8px; font-size:12.5px; }
html[data-theme-scope="auto"] .analysis-term-add { width:28px; height:28px; min-height:28px; padding:0; border-radius:8px; color:var(--text-2); font-size:17px; font-weight:500; box-shadow:none; }

/* Fields. */
html[data-theme-scope="auto"] :is(.form-stack,.form-grid,.form-group,.copy-row,.inline-access) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),select,textarea),
html[data-theme-scope="auto"] .analysis-search input,
html[data-theme-scope="auto"] .analysis-generate-form select,
html[data-theme-scope="auto"] .content-generation-control select,
html[data-theme-scope="auto"] .site-search-body > input { min-height:var(--ctl-h); padding:9px 12px; border:1px solid var(--field-border); border-radius:var(--r-ctl); background:var(--field-bg); color:var(--text); font-size:14px; box-shadow:none; transition:border-color .15s, box-shadow .15s; }
html[data-theme-scope="auto"] :is(.form-stack,.form-grid,.form-group) :is(input,select,textarea):hover:not(:focus):not(:disabled),
html[data-theme-scope="auto"] .analysis-search input:hover:not(:focus) { border-color:var(--field-hover); }
html[data-theme-scope="auto"] :is(.form-stack,.form-grid,.form-group) :is(input,select,textarea):focus,
html[data-theme-scope="auto"] .analysis-search input:focus,
html[data-theme-scope="auto"] .analysis-generate-form select:focus,
html[data-theme-scope="auto"] .content-generation-control select:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); outline:none; }
html[data-theme-scope="auto"] :is(.form-stack,.form-grid) textarea { line-height:1.55; }
html[data-theme-scope="auto"] .form-stack > label,
html[data-theme-scope="auto"] .form-grid > label { color:var(--text-2); font-size:13px; font-weight:550; }
html[data-theme-scope="auto"] .form-stack small,
html[data-theme-scope="auto"] .form-grid small { color:var(--text-3); font-size:12px; }

/* Tables: quiet header, dividers, soft hover. */
html[data-theme-scope="auto"] table.data,
html[data-theme-scope="auto"] .table-card table { font-size:13.5px; }
html[data-theme-scope="auto"] table.data th,
html[data-theme-scope="auto"] .table-card th { padding:10px 16px; border-top:0; border-bottom:1px solid var(--border); background:transparent; color:var(--text-3); font-size:12.5px; font-weight:500; letter-spacing:0; text-transform:none; }
html[data-theme-scope="auto"] table.data td,
html[data-theme-scope="auto"] .table-card td { padding:12px 16px; border-bottom:1px solid var(--divider); }
html[data-theme-scope="auto"] table.data tr:hover td,
html[data-theme-scope="auto"] .table-card tr:hover td { background:color-mix(in srgb,var(--text) 3%,transparent); }
html[data-theme-scope="auto"] .card.table-card { padding:0; }

/* Pills, chips and badges: one soft, rounded style. */
html[data-theme-scope="auto"] .pill { gap:5px; padding:2px 10px; border:0; border-radius:999px; background:var(--soft-fill); color:var(--text-2); font-size:12px; font-weight:550; letter-spacing:0; line-height:1.6; }
html[data-theme-scope="auto"] .pill.good,
html[data-theme-scope="auto"] .pill.green { background:var(--green-soft); color:var(--green); }
html[data-theme-scope="auto"] .pill.warn { background:var(--amber-soft); color:var(--amber); }
html[data-theme-scope="auto"] .pill.alert { background:var(--red-soft); color:var(--red); }
html[data-theme-scope="auto"] .pill.accent { background:var(--accent-soft); color:var(--accent-text); }
html[data-theme-scope="auto"] .tag-list { gap:8px; }
html[data-theme-scope="auto"] .tag:not(.h2-selected) { padding:4px 12px; border:1px solid transparent; border-radius:999px; background:var(--soft-fill); color:var(--text); font-size:13px; line-height:1.45; }
html[data-theme-scope="auto"] .tag.h2-selected { padding:4px 12px; border-radius:999px; font-size:13px; line-height:1.45; }
html[data-theme-scope="auto"] span.term-toggle.excluded { border-color:var(--border); border-style:dashed; background:transparent; }
html[data-theme-scope="auto"] .term-toggle:hover { filter:none; }
html[data-theme-scope="auto"] span.tag.term-toggle:not(.h2-selected):not(.excluded):hover { background:color-mix(in srgb,var(--text) 10%,transparent); }
html[data-theme-scope="auto"] .active-target-badge { padding:1px 7px; border-radius:999px; color:var(--accent-text); font-size:10.5px; font-weight:600; letter-spacing:0; text-transform:none; }

/* Callouts: soft tinted, rounded, no harsh borders. */
html[data-theme-scope="auto"] .thin-data-callout { display:block; margin:0 0 16px!important; padding:12px 16px!important; border:1px solid color-mix(in srgb,var(--amber) 16%,transparent)!important; border-radius:12px!important; background:var(--amber-soft); color:var(--amber)!important; font-size:13px!important; line-height:1.55; }
html[data-theme-scope="auto"] .warn-item { padding:10px 14px; border-radius:10px; font-size:13px; }
html[data-theme-scope="auto"] .error-box { padding:14px 16px; border:1px solid color-mix(in srgb,var(--red) 16%,transparent); border-radius:12px; font-size:13.5px; }
html[data-theme-scope="auto"] .notice { padding:14px 16px; border:1px solid color-mix(in srgb,var(--accent) 14%,transparent); border-radius:12px; }
html[data-theme-scope="auto"] .notice.error { border-color:color-mix(in srgb,var(--red) 16%,transparent); }

/* Tabs. */
html[data-theme-scope="auto"] .tabs { gap:4px; border-bottom-color:var(--border); }
html[data-theme-scope="auto"] .tab { padding:10px 14px; color:var(--text-2); font-size:14px; font-weight:550; }
html[data-theme-scope="auto"] .tab:hover { color:var(--text); }
html[data-theme-scope="auto"] .tab.active { border-bottom-color:var(--accent); color:var(--accent-text); }

/* Dialogs and popovers. */
html[data-theme-scope="auto"] .site-search-dialog { border-color:var(--border); border-radius:16px; }
html[data-theme-scope="auto"] .location-suggestions { padding:6px; border:1px solid var(--border); border-radius:12px; background:var(--bg-card); box-shadow:var(--shadow); }
html[data-theme-scope="auto"] .location-option { border-radius:8px; }

/* ── New page form ─────────────────────────────────────────────── */
html[data-theme-scope="auto"] .analysis-form-shell {
  --cds-background:var(--bg-card);
  --cds-layer-01:var(--field-bg);
  --cds-layer-hover-01:var(--bg-hover);
  --cds-border-subtle-01:var(--divider);
  --cds-border-strong-01:var(--field-border);
  --cds-text-primary:var(--text);
  --cds-text-secondary:var(--text-2);
  --cds-text-helper:var(--text-3);
  --cds-interactive:var(--accent-2);
  --cds-interactive-hover:var(--accent);
  --cds-focus:var(--accent);
  --analysis-text:var(--text);
  --analysis-text-size:14px;
  max-width:960px; padding:32px; border-color:var(--border); border-radius:var(--r-card); background:var(--bg-card); box-shadow:var(--surface-shadow);
}
html[data-theme-scope="auto"] .cds-analysis-form .form-stack { gap:28px; }
html[data-theme-scope="auto"] .cds-analysis-form .form-stack > label,
html[data-theme-scope="auto"] .cds-analysis-form .location-field > label,
html[data-theme-scope="auto"] .cds-analysis-form .analysis-icon-field > legend,
html[data-theme-scope="auto"] .core-fields .analysis-field > label { color:var(--text); font-size:13.5px; font-weight:600; }
html[data-theme-scope="auto"] .core-fields .analysis-field { grid-template-rows:20px 44px; }
html[data-theme-scope="auto"] .cds-analysis-form .form-stack input[type="text"],
html[data-theme-scope="auto"] .cds-analysis-form .form-stack input[type="url"] { height:44px; min-height:44px; padding:0 14px; border:1px solid var(--field-border); border-radius:var(--r-ctl); background:var(--field-bg); font-size:14px; font-weight:450; }
html[data-theme-scope="auto"] .cds-analysis-form .form-stack textarea { min-height:96px; padding:12px 14px; border:1px solid var(--field-border); border-radius:var(--r-ctl); background:var(--field-bg); font-size:14px; font-weight:450; }
html[data-theme-scope="auto"] .cds-analysis-form .form-stack input:hover:not(:focus),
html[data-theme-scope="auto"] .cds-analysis-form .form-stack textarea:hover:not(:focus) { border-color:var(--field-hover); background:var(--field-bg); }
html[data-theme-scope="auto"] .cds-analysis-form .form-stack input:focus,
html[data-theme-scope="auto"] .cds-analysis-form .form-stack textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); outline:none; }
html[data-theme-scope="auto"] .cds-analysis-form .form-stack input::placeholder,
html[data-theme-scope="auto"] .cds-analysis-form .form-stack textarea::placeholder { color:var(--text-3); }
html[data-theme-scope="auto"] .cds-analysis-form .location-status,
html[data-theme-scope="auto"] .cds-analysis-form .location-status[data-state] { font-size:13px; font-weight:500; }
html[data-theme-scope="auto"] .cds-analysis-form .location-status[data-state="verified"] { color:var(--green); }
html[data-theme-scope="auto"] .cds-analysis-form .location-status[data-state="error"] { color:var(--red); }
html[data-theme-scope="auto"] .cds-analysis-form .location-status:not([data-state]),
html[data-theme-scope="auto"] .cds-analysis-form .location-status[data-state="loading"] { color:var(--text-3); }
html[data-theme-scope="auto"] .cds-analysis-form #search-location-help { color:var(--text-3); font-size:12px; line-height:1.5; }
html[data-theme-scope="auto"] .cds-analysis-form .location-suggestions { top:calc(100% + 6px); padding:6px; border:1px solid var(--border); border-radius:12px; background:var(--bg-card); box-shadow:var(--shadow); }
html[data-theme-scope="auto"] .cds-analysis-form .location-option { border-radius:8px; font-size:14px; }
html[data-theme-scope="auto"] .cds-analysis-form .location-option:hover,
html[data-theme-scope="auto"] .cds-analysis-form .location-option[aria-selected="true"] { background:var(--accent-soft); }
html[data-theme-scope="auto"] .analysis-control-row { padding:24px 0; border-block-color:var(--divider); }
/* Segmented controls: soft track, raised chip for the selected item. */
html[data-theme-scope="auto"] .analysis-icon-group { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--border); border-radius:12px; background:var(--seg-track); }
html[data-theme-scope="auto"] .optimisation-field .analysis-icon-group { display:grid; width:100%; }
html[data-theme-scope="auto"] .analysis-icon-choice { min-width:0; min-height:38px; padding:0 14px; border:0; border-radius:9px; background:transparent; color:var(--text-2); font-size:14px; font-weight:550; box-shadow:none; }
html[data-theme-scope="auto"] .analysis-icon-choice.icon-only,
html[data-theme-scope="auto"] .analysis-icon-choice.language-choice { width:44px; min-width:44px; padding:0; }
html[data-theme-scope="auto"] .analysis-icon-choice:hover { background:color-mix(in srgb,var(--text) 5%,transparent); color:var(--text); }
html[data-theme-scope="auto"] .analysis-icon-choice:has(input:checked) { border:0; background:var(--seg-chip); color:var(--text); box-shadow:var(--seg-chip-shadow); }
html[data-theme-scope="auto"] .analysis-icon-choice:has(input:checked) .analysis-choice-icon { color:var(--accent-text); }
html[data-theme-scope="auto"] .analysis-icon-choice:focus-within { outline:2px solid var(--accent); outline-offset:1px; }
html[data-theme-scope="auto"] .analysis-choice-icon { width:17px; height:17px; }
html[data-theme-scope="auto"] .analysis-choice-tooltip { padding:10px 14px; border:1px solid var(--border); border-radius:10px; background:var(--bg-card); color:var(--text); font-size:13px; font-weight:450; box-shadow:var(--shadow); }
html[data-theme-scope="auto"] .analysis-choice-tooltip::after { border-top-color:var(--bg-card); }
html[data-theme-scope="auto"] .form-stack label.analysis-national-toggle { min-height:44px; align-items:center; gap:10px; padding:0 14px; border:1px solid var(--field-border); border-radius:var(--r-ctl); background:var(--field-bg); color:var(--text); font-size:14px; font-weight:550; }
html[data-theme-scope="auto"] .form-stack label.analysis-national-toggle:has(input:checked) { border-color:color-mix(in srgb,var(--accent) 40%,var(--field-border)); background:var(--accent-soft); color:var(--text); }
html[data-theme-scope="auto"] .national-switch-track { flex-basis:32px; height:18px; background:var(--border-strong); }
html[data-theme-scope="auto"] .national-switch-track::after { background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.25); }
html[data-theme-scope="auto"] .analysis-national-toggle input:checked ~ .national-switch-track { background:var(--accent-2); }
html[data-theme-scope="auto"] .analysis-national-toggle input:checked ~ .national-switch-track::after { background:#fff; }
html[data-theme-scope="auto"] .national-switch-state { color:var(--text-3); font-size:13px; font-weight:500; }
html[data-theme-scope="auto"] .cds-analysis-form .btn.primary { min-width:0; min-height:44px; justify-content:center; padding:0 22px; border-radius:var(--r-ctl); background:var(--accent-2); color:var(--text-on-accent); font-size:14px; font-weight:600; }
html[data-theme-scope="auto"] .cds-analysis-form .btn.primary:hover { background:var(--accent); }
html[data-theme-scope="auto"][data-theme="light"] .cds-analysis-form .btn.primary:hover { background:#3730a3; }
html[data-theme-scope="auto"] .cds-analysis-form .notice,
html[data-theme-scope="auto"] .cds-analysis-form .notice strong { font-size:14px; }

/* ── Analysis (detail) page ─────────────────────────────────────── */
html[data-theme-scope="auto"] .analysis-header-actions { gap:8px; align-items:flex-end; }
html[data-theme-scope="auto"] .analysis-header-actions > a.btn.primary { border-color:var(--border); background:var(--bg-card); color:var(--text); box-shadow:0 1px 1px rgba(0,0,0,.04); }
html[data-theme-scope="auto"] .analysis-header-actions > a.btn.primary:hover { border-color:var(--field-hover); background:var(--bg-hover); color:var(--text); }
html[data-theme-scope="auto"] .analysis-generate-form { align-items:flex-end; gap:8px; }
html[data-theme-scope="auto"] .analysis-writer-control { gap:4px; color:var(--text-3); font-size:12px; font-weight:500; }
html[data-theme-scope="auto"] .analysis-writer-control small { color:var(--text-3); font-size:11.5px; }
html[data-theme-scope="auto"] .analysis-writer-control select { min-width:170px; }
html[data-theme-scope="auto"] .analysis-header-actions > .btn,
html[data-theme-scope="auto"] .analysis-generate-form .btn { margin-bottom:20px; }
html[data-theme-scope="auto"] .analysis-term-grid { gap:16px; }
html[data-theme-scope="auto"] .analysis-term-grid .card { margin-bottom:16px; }
html[data-theme-scope="auto"] .analysis-brief .card-title,
html[data-theme-scope="auto"] .analysis-brief table.data th,
html[data-theme-scope="auto"] .analysis-brief .kpi-label { color:inherit; }
html[data-theme-scope="auto"] .analysis-brief .card-title { color:var(--text); }
html[data-theme-scope="auto"] .analysis-brief table.data th,
html[data-theme-scope="auto"] .analysis-brief .card .kpi-label { color:var(--text-3); }
html[data-theme-scope="auto"] .analysis-brief .muted { color:var(--text-2); }
html[data-theme-scope="auto"] .service-area-option { border-radius:999px; padding:5px 12px; }
html[data-theme-scope="auto"] .info-gain-option { padding:12px 14px; border-color:var(--border); border-radius:12px; background:var(--bg-card); }
html[data-theme-scope="auto"] .info-gain-option.selected { border-color:color-mix(in srgb,var(--accent) 45%,var(--border)); background:var(--accent-soft); }
html[data-theme-scope="auto"] .info-gain-evidence { border-bottom-color:var(--divider); }
html[data-theme-scope="auto"] .generation-history { padding:0; }
html[data-theme-scope="auto"] .generation-history-head { padding:18px 24px 14px; border-bottom-color:var(--divider); }
html[data-theme-scope="auto"] .generation-row { padding:12px 24px; border-bottom-color:var(--divider); }
html[data-theme-scope="auto"] .generation-row small,
html[data-theme-scope="auto"] .generation-history-note { font-size:12px; }
html[data-theme-scope="auto"] .generation-history-note { padding:12px 24px; }
/* Original research: the app's card, not a Carbon tile. */
html[data-theme-scope="auto"] #original-research { padding:24px; border-color:var(--border); border-radius:var(--r-card); background:var(--bg-card); }
html[data-theme-scope="auto"] #original-research-title { margin:0 0 12px; color:var(--text); font-size:16px; font-weight:600; letter-spacing:-.01em; }
html[data-theme-scope="auto"] #original-research-form { gap:18px; }
html[data-theme-scope="auto"] #original-research-form > label { color:var(--text); font-size:14px; font-weight:550; }
html[data-theme-scope="auto"] #original-research-form textarea { padding:10px 12px; border:1px solid var(--field-border); border-radius:var(--r-ctl); background:var(--field-bg); color:var(--text); }
html[data-theme-scope="auto"] #original-research-form textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); outline:none; }
html[data-theme-scope="auto"] .analysis-original-research-card .muted { margin-bottom:12px; }
/* Article length gauge. */
html[data-theme-scope="auto"] .analysis-word-range-card { gap:32px; padding:24px; }
html[data-theme-scope="auto"] .analysis-word-range-summary h2 { margin:2px 0 6px; font-size:16px; font-weight:600; }
html[data-theme-scope="auto"] .analysis-word-range-summary p { font-size:13px; }
html[data-theme-scope="auto"] .analysis-word-range-setting { gap:10px; padding:16px 18px; border-radius:12px; background:var(--soft-fill); }
html[data-theme-scope="auto"] .analysis-word-range-value strong { font-size:18px; font-weight:650; font-variant-numeric:tabular-nums; }
html[data-theme-scope="auto"] .analysis-word-range-setting > label { color:var(--text-2); font-size:12.5px; font-weight:550; }
html[data-theme-scope="auto"] .word-length-label { font-size:12px; font-weight:600; color:var(--accent-text); }
html[data-theme-scope="auto"] .word-length-ends,
html[data-theme-scope="auto"] .analysis-word-range-footer small,
html[data-theme-scope="auto"] .analysis-word-range-setting > small { font-size:11.5px; }
html[data-theme-scope="auto"] .analysis-word-range-setting input#article-length::-webkit-slider-thumb,
html[data-theme-scope="auto"] .analysis-word-range-setting input#fast-length-slider::-webkit-slider-thumb { width:18px; height:18px; border:3px solid var(--bg-card); box-shadow:0 0 0 1px var(--accent), 0 1px 3px rgba(0,0,0,.3); }
/* Rank model switch: segmented track. */
html[data-theme-scope="auto"] .rank-model-switch { display:inline-flex; gap:4px; margin:16px 24px 12px; padding:4px; border:1px solid var(--border); border-radius:12px; background:var(--seg-track); }
html[data-theme-scope="auto"] .rank-model-switch .btn { min-height:34px; padding:0 14px; border:0; border-radius:9px; background:transparent; color:var(--text-2); font-size:13px; box-shadow:none; }
html[data-theme-scope="auto"] .rank-model-switch .btn:hover:not(:disabled) { background:color-mix(in srgb,var(--text) 5%,transparent); color:var(--text); }
html[data-theme-scope="auto"] .rank-model-switch .btn.accent,
html[data-theme-scope="auto"] .rank-model-switch .btn.accent:disabled { opacity:1; cursor:default; background:var(--seg-chip); color:var(--text); box-shadow:var(--seg-chip-shadow); }
html[data-theme-scope="auto"] .rank-comparison-table td { white-space:nowrap; }
html[data-theme-scope="auto"] .active-target-cell { background:color-mix(in srgb,var(--accent) 7%,transparent); color:var(--accent-text); font-weight:650; }

/* ── All pages (list) ──────────────────────────────────────────── */
html[data-theme-scope="auto"] .analysis-list-toolbar { align-items:flex-end; margin-bottom:16px; }
html[data-theme-scope="auto"] .analysis-search > label { color:var(--text-2); font-size:13px; font-weight:550; }
html[data-theme-scope="auto"] .analysis-search input { padding:0 12px; }
html[data-theme-scope="auto"] .analysis-list-summary { color:var(--text-3); font-size:13px; }
html[data-theme-scope="auto"] .table-card td.mono { min-width:116px; color:var(--text-2); font-family:inherit; font-size:12.5px; }
html[data-theme-scope="auto"] .table-card td:first-child { min-width:170px; }
html[data-theme-scope="auto"] .table-card td:first-child a strong { color:var(--text); font-weight:600; }
html[data-theme-scope="auto"] .table-card td:first-child a:hover strong { color:var(--accent-text); }
html[data-theme-scope="auto"] .table-card td:first-child .mono { margin-top:2px; color:var(--text-3); font-family:inherit; font-size:12px; }
html[data-theme-scope="auto"] .table-card td.muted { color:var(--text-2); }
html[data-theme-scope="auto"] .table-card .bar { height:6px; background:var(--soft-fill); }
html[data-theme-scope="auto"] .table-card .bar > span { background:var(--accent); }
html[data-theme-scope="auto"] .table-card td { vertical-align:middle; }
html[data-theme-scope="auto"] .generation-count-link { flex-wrap:wrap; gap:4px 7px; font-size:12.5px; white-space:normal; }
html[data-theme-scope="auto"] .analysis-row-actions { gap:6px; }
html[data-theme-scope="auto"] .analysis-row-actions > a.muted { padding:0 6px; color:var(--text-2); font-size:12.5px; }
html[data-theme-scope="auto"] .analysis-row-actions > a.muted:hover { color:var(--text); }
html[data-theme-scope="auto"] .analysis-pagination .muted { font-size:13px; }

/* ── Select pages ──────────────────────────────────────────────── */
html[data-theme-scope="auto"] .selection-page-head .selection-col-full { align-items:center; }
html[data-theme-scope="auto"] .selection-page-head .selection-col-full > div { margin-right:auto; }
html[data-theme-scope="auto"] .selection-table-title { min-height:44px; }
html[data-theme-scope="auto"] .selection-table-title h2 { font-size:16px; font-weight:600; }
html[data-theme-scope="auto"] .rank-selection-toolbar { min-height:0; align-items:center; gap:0; margin-bottom:12px; border-top:0; }
html[data-theme-scope="auto"] .rank-selection-toolbar > span { padding:0 12px 0 0; color:var(--text-3); font-size:13px; font-weight:500; }
html[data-theme-scope="auto"] .rank-selection-preset { position:relative; isolation:isolate; min-width:0; min-height:42px; padding:0 18px; border:0; border-block:1px solid var(--border); background:var(--seg-track); color:var(--text-2); font-size:13px; font-weight:550; }
html[data-theme-scope="auto"] .rank-selection-preset:first-of-type { border-left:1px solid var(--border); border-radius:12px 0 0 12px; padding-left:20px; }
html[data-theme-scope="auto"] .rank-selection-preset:last-of-type { border-right:1px solid var(--border); border-radius:0 12px 12px 0; padding-right:20px; }
html[data-theme-scope="auto"] .rank-selection-preset::before { content:""; position:absolute; z-index:-1; inset:4px 2px; border-radius:9px; background:transparent; transition:background-color .15s, box-shadow .15s; }
html[data-theme-scope="auto"] .rank-selection-preset:first-of-type::before { left:4px; }
html[data-theme-scope="auto"] .rank-selection-preset:last-of-type::before { right:4px; }
html[data-theme-scope="auto"] .rank-selection-preset:hover { background:var(--seg-track); color:var(--text); }
html[data-theme-scope="auto"] .rank-selection-preset:hover::before { background:color-mix(in srgb,var(--text) 5%,transparent); }
html[data-theme-scope="auto"] .rank-selection-preset.is-active { background:var(--seg-track); color:var(--text); box-shadow:none; }
html[data-theme-scope="auto"] .rank-selection-preset.is-active::before { background:var(--seg-chip); box-shadow:var(--seg-chip-shadow); }
html[data-theme-scope="auto"] .rank-table-wrap,
html[data-theme-scope="auto"] .snapshot-rows { overflow:hidden; border:1px solid var(--border); border-radius:var(--r-card); background:var(--bg-card); box-shadow:var(--surface-shadow); }
html[data-theme-scope="auto"] .rank-table-wrap { overflow-x:auto; }
html[data-theme-scope="auto"] .rank-table th { height:44px; border-bottom-color:var(--border); color:var(--text-3); font-size:12.5px; font-weight:500; letter-spacing:0; }
html[data-theme-scope="auto"] .rank-table td { height:68px; border-bottom-color:var(--divider); }
html[data-theme-scope="auto"] .rank-table tbody tr:last-child td { border-bottom:0; }
html[data-theme-scope="auto"] .rank-table tbody tr:hover { background:color-mix(in srgb,var(--text) 3%,transparent); }
html[data-theme-scope="auto"] .rank-table-select label > span { border-color:var(--field-hover); border-radius:5px; background:var(--field-bg); }
html[data-theme-scope="auto"] .rank-table-select input:checked + span,
html[data-theme-scope="auto"] .rank-table-select input:indeterminate + span { border-color:var(--accent-2); background:var(--accent-2); }
html[data-theme-scope="auto"] .rank-table-page > a { font-size:14px; font-weight:550; }
html[data-theme-scope="auto"] .rank-table-page > span { color:var(--text-3); }
html[data-theme-scope="auto"] .rank-table-page > small { padding:1px 8px; border-radius:999px; background:var(--amber-soft); color:var(--amber); font-size:11.5px; font-weight:550; }
html[data-theme-scope="auto"] .rank-table-average strong { display:block; font-size:16px; font-weight:650; }
html[data-theme-scope="auto"] .rank-table-average small { font-size:12px; }
html[data-theme-scope="auto"] .rank-result-actions { padding:16px 0 32px; }
html[data-theme-scope="auto"] .snapshot-row { padding:0 20px; border-bottom-color:var(--divider); }
html[data-theme-scope="auto"] .snapshot-row:last-child { border-bottom:0; }
html[data-theme-scope="auto"] .snapshot-row > small { font-size:12px; white-space:nowrap; }
html[data-theme-scope="auto"] .snapshot-row { grid-template-columns:minmax(0,1fr) auto 64px; }
html[data-theme-scope="auto"] .selection-status { color:var(--amber); font-size:13px; }

/* ── Content workbench ────────────────────────────────────────── */
html[data-theme-scope="auto"] body.content-workbench-page {
  --cds-background:var(--bg);
  --cds-layer-01:var(--bg-card);
  --cds-layer-02:var(--bg-card-2);
  --cds-layer-hover-01:var(--bg-hover);
  --cds-field-01:var(--field-bg);
  --cds-field-02:var(--field-bg);
  --cds-border-strong-01:var(--field-border);
  --cds-border-subtle-01:var(--border);
  --cds-text-primary:var(--text);
  --cds-text-secondary:var(--text-2);
  --cds-text-helper:var(--text-3);
  --cds-button-primary:var(--accent-2);
  --cds-button-primary-hover:var(--accent);
  --cds-link-primary:var(--accent-text);
  --cds-focus:var(--accent);
}
html[data-theme-scope="auto"] .content-workbench-page .page { max-width:1320px; margin-inline:auto; padding:0 32px 64px; }
html[data-theme-scope="auto"] .content-workbench { gap:20px; }
html[data-theme-scope="auto"] .content-command-bar { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; min-height:80px; padding:14px 32px; border-bottom-color:var(--border); background:color-mix(in srgb,var(--bg) 88%,transparent); backdrop-filter:saturate(1.4) blur(12px); -webkit-backdrop-filter:saturate(1.4) blur(12px); }
html[data-theme-scope="auto"] .content-command-title { flex:1 1 320px; min-height:0; padding:0; }
html[data-theme-scope="auto"] .content-command-title h1 { font-size:26px; font-weight:650; letter-spacing:-.02em; line-height:1.2; }
html[data-theme-scope="auto"] .content-command-title > p:last-child { margin-top:4px; color:var(--text-3); font-size:13px; }
html[data-theme-scope="auto"] .content-command-actions { display:flex; flex:0 1 auto; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; min-height:0; }
html[data-theme-scope="auto"] .content-command-actions .btn,
html[data-theme-scope="auto"] .content-command-actions select { width:auto; min-height:var(--ctl-h); border-width:1px; border-radius:var(--r-ctl); }
html[data-theme-scope="auto"] .content-command-actions .btn { padding:0 16px; }
html[data-theme-scope="auto"] .content-command-actions .content-primary-action,
html[data-theme-scope="auto"] .content-workbench .content-primary-action { border-color:transparent; background:var(--accent-2); color:var(--text-on-accent); font-weight:600; }
html[data-theme-scope="auto"] .content-command-actions .content-primary-action:hover:not(:disabled) { background:var(--accent); color:var(--text-on-accent); }
html[data-theme-scope="auto"] .content-workbench .content-generation-control select { min-height:var(--ctl-h); border-radius:var(--r-ctl); background:var(--field-bg); }
html[data-theme-scope="auto"] .content-connection { display:grid; min-height:var(--ctl-h); padding:5px 14px 5px 12px; gap:0 9px; border:1px solid var(--border); border-radius:var(--r-ctl); background:var(--bg-card); }
html[data-theme-scope="auto"] .content-connection:hover { border-color:var(--field-hover); background:var(--bg-hover); }
html[data-theme-scope="auto"] .content-connection > span { grid-row:1 / 4; }
html[data-theme-scope="auto"] .content-connection strong { color:var(--text); font-size:12.5px; font-weight:600; letter-spacing:0; text-transform:none; }
html[data-theme-scope="auto"] .content-connection em { color:var(--text-3); font-size:11.5px; }
html[data-theme-scope="auto"] .content-connection small { color:var(--accent-text); font-size:11.5px; font-weight:550; }
/* Score strip: proper stat cards. */
html[data-theme-scope="auto"] .content-score-strip { gap:12px; border:0; }
html[data-theme-scope="auto"] .content-score-strip .kpi { display:flex; flex-direction:column; justify-content:flex-start; gap:6px; min-height:0; padding:18px 20px; border:1px solid var(--border); border-radius:14px; background:var(--bg-card); box-shadow:var(--surface-shadow); }
html[data-theme-scope="auto"] .content-score-strip .kpi:last-child { border-right:1px solid var(--border); }
html[data-theme-scope="auto"] .content-score-strip .kpi-label { order:-1; color:var(--text-3); font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; }
html[data-theme-scope="auto"] .content-score-strip .kpi-value { margin:0; color:var(--text); font-size:28px; font-weight:650; letter-spacing:-.025em; line-height:1.1; }
html[data-theme-scope="auto"] .content-score-strip small { font-size:12px; }
html[data-theme-scope="auto"] .content-score-strip .score-band-good .kpi-value,
html[data-theme-scope="auto"] .content-toolbar-score.score-band-good span { color:var(--score-good); }
html[data-theme-scope="auto"] .content-score-strip .score-band-warn .kpi-value,
html[data-theme-scope="auto"] .content-toolbar-score.score-band-warn span { color:var(--score-warn); }
html[data-theme-scope="auto"] .content-score-strip .score-band-bad .kpi-value,
html[data-theme-scope="auto"] .content-toolbar-score.score-band-bad span { color:var(--score-bad); }
html[data-theme-scope="auto"] .content-score-strip .content-score-primary { position:relative; overflow:hidden; }
html[data-theme-scope="auto"] .content-score-strip .content-score-primary::after { content:""; position:absolute; inset:auto 20px 0; height:3px; border-radius:3px 3px 0 0; background:currentColor; opacity:.0; }
html[data-theme-scope="auto"] .content-score-strip .score-band-good { background:linear-gradient(180deg,color-mix(in srgb,var(--score-good) 7%,var(--bg-card)),var(--bg-card)); }
html[data-theme-scope="auto"] .content-score-strip .score-band-warn { background:linear-gradient(180deg,color-mix(in srgb,var(--score-warn) 7%,var(--bg-card)),var(--bg-card)); }
html[data-theme-scope="auto"] .content-score-strip .score-band-bad { background:linear-gradient(180deg,color-mix(in srgb,var(--score-bad) 7%,var(--bg-card)),var(--bg-card)); }
/* Tabs. */
html[data-theme-scope="auto"] .content-tabs { gap:4px; border-bottom-color:var(--border); }
html[data-theme-scope="auto"] .content-tabs .tab { min-width:0; min-height:44px; padding:0 14px; border-bottom-width:2px; color:var(--text-2); font-size:14px; font-weight:550; }
html[data-theme-scope="auto"] .content-tabs .tab:hover { background:transparent; color:var(--text); }
html[data-theme-scope="auto"] .content-tabs .tab.active { border-bottom-color:var(--accent); color:var(--accent-text); }
/* Cards and controls inside the workbench follow the app style. */
html[data-theme-scope="auto"] .content-workbench .card { border-radius:var(--r-card); box-shadow:var(--surface-shadow); }
html[data-theme-scope="auto"] .content-workbench input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
html[data-theme-scope="auto"] .content-workbench select,
html[data-theme-scope="auto"] .content-workbench textarea { border-radius:var(--r-ctl); }
html[data-theme-scope="auto"] .content-workbench .btn { border-radius:var(--r-ctl); }
/* Recommended alt text. */
html[data-theme-scope="auto"] .recommended-alt-section { overflow:hidden; border:1px solid var(--border); border-radius:var(--r-card); background:var(--bg-card); box-shadow:var(--surface-shadow); }
html[data-theme-scope="auto"] .recommended-alt-section .data thead th { height:auto; padding:16px 20px 12px; border-bottom-color:var(--divider); color:var(--text); font-size:15px; font-weight:600; letter-spacing:-.01em; line-height:1.3; text-transform:none; }
html[data-theme-scope="auto"] .recommended-alt-section .data td { border-bottom-color:var(--divider); }
html[data-theme-scope="auto"] .recommended-alt-section tr:last-child td { border-bottom:0; }
html[data-theme-scope="auto"] .recommended-alt-section .recommended-alt-actions { display:flex; align-items:center; gap:8px; min-height:56px; padding:0 20px; }
html[data-theme-scope="auto"] .recommended-alt-section .recommended-alt-actions .btn { width:auto; height:32px; min-height:32px; padding:0 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card); font-size:12.5px; }
html[data-theme-scope="auto"] .recommended-alt-section .recommended-alt-actions .recommended-alt-regenerate { width:32px; padding:0; }
html[data-theme-scope="auto"] .recommended-alt-section .recommended-alt-actions .btn:hover { background:var(--bg-hover); }
html[data-theme-scope="auto"] .recommended-alt-section .recommended-alt-input { flex:1; height:36px; padding:0 12px; border:1px solid transparent; border-radius:8px; background:transparent; font-size:14px; }
html[data-theme-scope="auto"] .recommended-alt-section .recommended-alt-input:hover { border-color:var(--border); }
html[data-theme-scope="auto"] .recommended-alt-section .recommended-alt-input:focus { border-color:var(--accent); background:var(--field-bg); box-shadow:0 0 0 3px var(--accent-soft); outline:none; }
html[data-theme-scope="auto"] .recommended-alt-section .recommended-alt-add { margin:8px 20px 16px; min-height:34px; border:1px solid var(--border); border-radius:var(--r-ctl); }
html[data-theme-scope="auto"] .recommended-alt-section tr:hover td { background:transparent; }
/* Editor card + grouped toolbar. */
html[data-theme-scope="auto"] .content-workbench .content-editor-card { padding:0; overflow:visible; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar { gap:4px; align-items:center; margin:10px; min-height:0; padding:4px; border:1px solid var(--border); border-radius:12px; background:color-mix(in srgb,var(--bg-card) 92%,transparent); box-shadow:0 1px 2px rgba(0,0,0,.06); backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px); }
html[data-theme-scope="auto"][data-theme="light"] .content-workbench .content-toolbar { box-shadow:0 1px 2px rgba(16,16,24,.04), 0 6px 18px rgba(16,16,24,.06); }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-actions { align-items:center; gap:2px; min-height:0; padding:0; background:transparent; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-actions .btn,
html[data-theme-scope="auto"] .content-workbench .content-block-format select,
html[data-theme-scope="auto"] .content-workbench .content-link-editor input { min-height:36px; height:36px; padding:0 12px; border:0; border-radius:8px; background:transparent; color:var(--text); font-size:13px; font-weight:550; box-shadow:none; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-actions .btn:hover:not(:disabled),
html[data-theme-scope="auto"] .content-workbench .content-block-format select:hover:not(:disabled) { background:var(--soft-fill); color:var(--text); }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-actions .btn.primary { margin-inline:2px; background:var(--accent-2); color:var(--text-on-accent); box-shadow:0 1px 2px rgba(55,48,163,.25), inset 0 1px 0 rgba(255,255,255,.12); }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-actions .btn.primary:hover:not(:disabled) { background:var(--accent); color:var(--text-on-accent); }
html[data-theme-scope="auto"][data-theme="light"] .content-workbench .content-toolbar-actions .btn.primary:hover:not(:disabled) { background:#3730a3; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-actions .btn:disabled,
html[data-theme-scope="auto"] .content-workbench .content-block-format select:disabled { background:transparent; color:var(--text-3); opacity:.7; }
html[data-theme-scope="auto"] .content-workbench .content-block-format select { min-width:64px; padding:0 26px 0 12px; }
html[data-theme-scope="auto"] .content-workbench .content-link-editor input { width:220px; border:1px solid var(--field-border); background:var(--field-bg); font-weight:450; }
/* Group dividers: [Share] | [Generate images, Custom image] | [Copy HTML] | [Max, Bold, Map] | [P, Insert link] */
html[data-theme-scope="auto"] .content-toolbar-actions > :is(#image-generation-open,#copy-html,[data-open-max-score],#max-version-open,.content-block-format) { position:relative; margin-left:11px; }
html[data-theme-scope="auto"] .content-toolbar-actions > :is(#image-generation-open,#copy-html,[data-open-max-score],#max-version-open,.content-block-format)::before { content:""; position:absolute; top:8px; bottom:8px; left:-7px; width:1px; background:var(--border); pointer-events:none; }
html[data-theme-scope="auto"] .content-workbench .content-save-status { padding-right:8px; font-size:12px; font-weight:500; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-rank { position:relative; margin-left:7px; padding-left:8px; background:transparent; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-rank::before { content:""; position:absolute; top:8px; bottom:8px; left:0; width:1px; background:var(--border); }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-rank-select { min-width:124px; min-height:36px; height:36px; padding:0 30px 0 12px; border:1px solid var(--field-border); border-radius:8px; background-color:var(--field-bg); font-size:13px; font-weight:550; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-rank-select:hover { border-color:var(--field-hover); background-color:var(--field-bg); }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-score { flex-direction:row-reverse; align-items:center; justify-content:flex-end; gap:8px; min-width:0; min-height:36px; margin:0; padding:0 12px 0 14px; border-left:1px solid var(--border); background:transparent; line-height:1; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-score span { font-size:20px; font-weight:650; letter-spacing:-.02em; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-score small { margin:0; color:var(--text-3); font-size:12px; font-weight:500; letter-spacing:0; text-transform:none; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-actions .btn:focus-visible,
html[data-theme-scope="auto"] .content-workbench .content-block-format select:focus-visible,
html[data-theme-scope="auto"] .content-workbench .content-toolbar-rank-select:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
html[data-theme-scope="auto"] .content-workbench #preview-frame { border-radius:0 0 var(--r-card) var(--r-card); }
html[data-theme-scope="auto"] .content-workbench .content-notification-line { margin:-6px 0 0; font-size:13px; }
@media (min-width:1056px) {
  html[data-theme-scope="auto"] body.content-workbench-page { --content-command-sticky-offset:81px; }
}
@media (max-width:671px) {
  html[data-theme-scope="auto"] .content-score-strip { gap:8px; }
  html[data-theme-scope="auto"] .content-command-bar { padding:12px 16px; }
  html[data-theme-scope="auto"] .content-command-title h1 { font-size:22px; }
  html[data-theme-scope="auto"] .content-workbench .content-toolbar-score small { display:none; }
}
@media (max-width:700px) {
  html[data-theme-scope="auto"] body:not(.content-workbench-page) .page { padding:24px 16px 48px; }
  html[data-theme-scope="auto"] .page-header h1,
  html[data-theme-scope="auto"] .selection-page-head h1 { font-size:23px; }
  html[data-theme-scope="auto"] .rank-model-switch { margin-inline:16px; }
}
html[data-theme-scope="auto"] .card :is(table.data,.table-card table) :is(th,td):first-child { padding-left:24px; }
html[data-theme-scope="auto"] .card :is(table.data,.table-card table) :is(th,td):last-child { padding-right:24px; }
html[data-theme-scope="auto"] .recommended-alt-section .data td { padding:0; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-actions { scrollbar-width:none; }
html[data-theme-scope="auto"] .content-workbench .content-toolbar-actions::-webkit-scrollbar { display:none; }
html[data-theme-scope="auto"] .rank-table .rank-table-average { width:180px; padding-right:20px; }
html[data-theme-scope="auto"] .rank-table-average small { white-space:nowrap; }
html[data-theme-scope="auto"] .card.table-card { overflow-x:auto; }
html[data-theme-scope="auto"] .table-card :is(th,td) { padding-inline:14px; }

/* New-analysis form: control groups size to their content and wrap, so the
   labelled Model buttons never overflow; Info gain row; National country. */
.analysis-control-row { display:flex; flex-wrap:wrap; align-items:flex-start; gap:16px 24px; }
.analysis-control-row > .analysis-icon-field { flex:0 1 auto; min-width:0; max-width:100%; }
.analysis-control-row > .optimisation-field { flex:1 1 380px; }
.analysis-control-row .analysis-icon-group { flex-wrap:nowrap; }
.analysis-control-row .analysis-icon-choice > span:not(.analysis-choice-tooltip):not(.sr-only) { white-space:nowrap; }
.analysis-infogain-row { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 24px; padding:20px 0; border-bottom:1px solid var(--divider,var(--cds-border-subtle-01)); }
.analysis-infogain-row .infogain-corpus { display:flex; flex-direction:column; gap:6px; flex:1 1 320px; max-width:520px; }
.analysis-infogain-row .infogain-help { flex:1 1 100%; margin:0; font-size:12px; color:var(--text-3,var(--muted)); }
.analysis-national-field { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.national-country { display:flex; align-items:center; gap:8px; font-size:14px; }
.national-country[hidden] { display:none; }
.national-country select { min-height:44px; padding:0 10px; }
@media (max-width: 720px) {
  .analysis-control-row > .analysis-icon-field { flex:1 1 100%; }
  .analysis-control-row .analysis-icon-group { flex-wrap:wrap; }
}

/* Fast page: new-analysis switch and live run progress. */
.analysis-fast-row { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 24px; padding:20px 0; border-bottom:1px solid var(--divider,var(--cds-border-subtle-01)); }
.analysis-fast-row .infogain-help { flex:1 1 100%; margin:0; font-size:12px; color:var(--text-3,var(--muted)); }
.fast-outputs { flex:1 1 100%; display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; border:0; margin:0; padding:0; min-width:0; }
.fast-outputs legend { float:left; margin-right:4px; font-size:12px; font-weight:600; color:var(--text-3,var(--muted)); }
.fast-output-choice { position:relative; display:inline-flex; align-items:center; gap:8px; padding:7px 14px 7px 10px; border:1px solid var(--border,#e3e5ea); border-radius:999px; font-size:13px; font-weight:600; cursor:pointer; user-select:none; transition:border-color .15s, background .15s; }
.fast-output-choice input { position:absolute; opacity:0; pointer-events:none; }
.fast-output-box { width:16px; height:16px; border-radius:4px; border:1.5px solid var(--border-strong,#cdd0d8); display:grid; place-items:center; transition:background .15s, border-color .15s; }
.fast-output-choice input:checked ~ .fast-output-box { background:var(--accent,#4f46e5); border-color:var(--accent,#4f46e5); }
.fast-output-choice input:checked ~ .fast-output-box::after { content:""; width:4px; height:8px; margin-top:-2px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.fast-output-choice:has(input:checked) { border-color:var(--accent,#4f46e5); background:var(--accent-soft,rgba(79,70,229,.09)); }
.fast-output-choice:has(input:focus-visible) { outline:2px solid var(--accent,#4f46e5); outline-offset:2px; }
.fast-image-count { display:inline-flex; align-items:center; gap:4px; font-size:13px; color:var(--text-2,#4a4f5c); transition:opacity .15s; }
.fast-image-count.is-off { opacity:.4; }
.fast-image-count input { width:52px; text-align:center; padding:6px 4px; -moz-appearance:textfield; appearance:textfield; }
.fast-image-count input::-webkit-inner-spin-button, .fast-image-count input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.fast-count-step { width:30px; height:30px; border-radius:50%; border:1px solid var(--border,#e3e5ea); background:var(--bg-card,#fff); color:var(--text,#111318); font-size:16px; line-height:1; cursor:pointer; }
.fast-count-step:hover:not(:disabled) { border-color:var(--accent,#4f46e5); color:var(--accent,#4f46e5); }
.fast-count-step:disabled { cursor:default; }
.fast-image-count > span { margin-left:4px; }
.fast-run { max-width:760px; position:relative; }
.fast-run [hidden], .fast-live [hidden] { display:none !important; }
.fast-meter { display:flex; align-items:center; gap:14px; margin:0 0 20px; }
.fast-meter-value { font-size:28px; font-weight:700; font-variant-numeric:tabular-nums; min-width:76px; letter-spacing:-.02em; }
.fast-meter-track { flex:1; height:10px; border-radius:999px; background:var(--bg-sunken,#eceef2); overflow:hidden; }
.fast-meter-fill { height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent,#4f46e5),#0f62fe 50%,#33b1ff,var(--accent,#4f46e5)); background-size:200% 100%; transition:width .9s cubic-bezier(.2,.8,.2,1); position:relative; overflow:hidden; animation:fast-flow 2.4s linear infinite; }
.fast-meter-fill::after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(-45deg,rgba(255,255,255,.22) 0 8px,transparent 8px 16px); background-size:22px 22px; animation:fast-stripes .8s linear infinite; }
.fast-run[data-done="true"] .fast-meter-fill { background:var(--cds-support-success,#24a148); animation:none; }
.fast-run[data-done="true"] .fast-meter-fill::after { display:none; }
.fast-steps { list-style:none; margin:0 0 16px; padding:0; display:flex; flex-direction:column; gap:14px; }
.fast-step { display:flex; gap:12px; align-items:flex-start; transition:opacity .3s; }
.fast-step > div { display:flex; flex-direction:column; gap:2px; }
.fast-step-detail { font-size:13px; color:var(--text-3,var(--muted)); }
.fast-step-detail:empty { display:none; }
.fast-step-mark { flex:0 0 18px; height:18px; margin-top:2px; border-radius:50%; border:2px solid var(--cds-border-strong-01,#8d8d8d); box-sizing:border-box; position:relative; }
.fast-step[data-state="done"] .fast-step-mark { background:var(--cds-support-success,#24a148); border-color:var(--cds-support-success,#24a148); animation:fast-pop .35s ease-out; }
.fast-step[data-state="done"] .fast-step-mark::after { content:""; position:absolute; left:4px; top:1px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.fast-step[data-state="running"] .fast-step-mark { border-color:var(--cds-interactive,#0f62fe); border-right-color:transparent; animation:fast-spin .8s linear infinite; box-shadow:0 0 0 4px rgba(15,98,254,.12); }
.fast-step[data-state="running"] strong { background:linear-gradient(90deg,var(--text,#111318) 0 40%,var(--accent,#4f46e5) 50%,var(--text,#111318) 60% 100%); background-size:250% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:fast-sheen 2.2s linear infinite; }
.fast-step[data-state="error"] .fast-step-mark { background:var(--cds-support-error,#da1e28); border-color:var(--cds-support-error,#da1e28); }
.fast-step[data-state="pending"] { opacity:.55; }
.fast-step[data-state="skipped"] { opacity:.45; }
.fast-step[data-state="skipped"] strong { text-decoration:line-through; }
.fast-step[data-state="skipped"] .fast-step-mark { border-style:dashed; }
.fast-warnings { margin:0 0 12px; padding-left:18px; font-size:13px; color:var(--cds-support-warning-text,#8e6a00); }
.fast-warnings:empty { display:none; }

/* Fast page live preview: what the run is doing right now. */
.fast-live { max-width:760px; margin-top:16px; padding:0; overflow:hidden; position:relative; }
.fast-live-bar { display:flex; align-items:center; gap:12px; padding:10px 16px; border-bottom:1px solid var(--border,#e3e5ea); background:var(--bg-card-2,#f2f3f6); font-size:13px; font-weight:600; }
.fast-live-dots { display:flex; gap:6px; }
.fast-live-dots i { width:10px; height:10px; border-radius:50%; background:#ff5f57; }
.fast-live-dots i:nth-child(2) { background:#febc2e; }
.fast-live-dots i:nth-child(3) { background:#28c840; }
.fast-live-title { flex:1; }
.fast-live-badge { display:inline-flex; align-items:center; gap:6px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--red,#c62828); }
.fast-live-badge i { width:8px; height:8px; border-radius:50%; background:currentColor; animation:fast-blink 1.2s ease-in-out infinite; }
.fast-live[data-stage="done"] .fast-live-badge, .fast-live[data-paused="true"] .fast-live-badge { display:none; }
.fast-live[data-paused="true"] *, .fast-live[data-paused="true"] *::before, .fast-live[data-paused="true"] *::after { animation-play-state:paused !important; }

.fast-scan { padding:18px 16px 20px; }
.fast-hud { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:16px; }
.fast-hud > div { display:flex; flex-direction:column; padding:10px 12px; border-radius:10px; background:var(--accent-soft,rgba(79,70,229,.09)); }
.fast-hud b { font-size:22px; font-variant-numeric:tabular-nums; color:var(--accent-text,#4338ca); }
.fast-hud span { font-size:12px; color:var(--text-3,#646976); }
.fast-radar { position:relative; height:150px; display:grid; place-items:center; }
.fast-radar span { position:absolute; width:46px; height:46px; border-radius:50%; border:2px solid var(--accent,#4f46e5); opacity:0; animation:fast-ping 2.4s ease-out infinite; }
.fast-radar span:nth-child(2) { animation-delay:.8s; }
.fast-radar span:nth-child(3) { animation-delay:1.6s; }
.fast-radar em { position:relative; font-style:normal; font-size:13px; color:var(--text-3,#646976); margin-top:96px; }
.fast-sites { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:8px; }
.fast-site { position:relative; overflow:hidden; display:flex; align-items:center; gap:10px; padding:9px 10px; border:1px solid var(--border,#e3e5ea); border-radius:10px; background:var(--bg-card,#fff); animation:fast-rise .45s var(--delay,0ms) both cubic-bezier(.2,.8,.2,1); transition:border-color .3s, background .3s; }
.fast-site > div { display:flex; flex-direction:column; min-width:0; flex:1; }
.fast-site strong { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fast-site-stat { font-size:11px; color:var(--text-3,#646976); }
.fast-site-avatar { flex:0 0 28px; height:28px; border-radius:8px; display:grid; place-items:center; font-weight:700; font-size:13px; color:#fff; background:hsl(var(--h,220) 62% 48%); }
.fast-site-rank { font-size:11px; font-weight:600; color:var(--text-3,#646976); white-space:nowrap; }
.fast-site-laser { position:absolute; inset:0; pointer-events:none; display:none; }
.fast-site[data-state="reading"] { border-color:var(--accent,#4f46e5); }
.fast-site[data-state="reading"] .fast-site-laser { display:block; background:linear-gradient(90deg,transparent 35%,rgba(79,70,229,.22) 50%,transparent 65%); background-size:250% 100%; animation:fast-scanline 1.3s linear infinite; }
.fast-site[data-state="done"] { border-color:color-mix(in srgb,var(--green,#137337) 40%,transparent); background:var(--green-soft,rgba(19,115,55,.08)); }
.fast-site[data-state="done"] .fast-site-rank::before { content:"✓ "; color:var(--green,#137337); }
.fast-site[data-state="failed"], .fast-site[data-state="skipped"] { opacity:.5; }
.fast-scan-label { margin:4px 0 8px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--text-3,#646976); }
.fast-terms + .fast-scan-label, .fast-sites + .fast-scan-label { margin-top:16px; }
.fast-terms { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.fast-term { font-size:12px; padding:4px 10px; border-radius:999px; background:var(--accent-soft,rgba(79,70,229,.09)); color:var(--accent-text,#4338ca); animation:fast-pop .4s var(--delay,0ms) both cubic-bezier(.3,1.6,.5,1); }

.fast-page { padding:16px; }
.fast-page-meta { font-size:12px; color:var(--text-3,#646976); margin-bottom:10px; font-variant-numeric:tabular-nums; }
.fast-doc { padding:22px 26px; border:1px solid var(--border,#e3e5ea); border-radius:10px; background:#fff; color:#1d2129; font-family:Georgia,"Times New Roman",serif; }
.fast-doc-h1 { font-size:24px; line-height:1.25; margin:0 0 14px; color:#111318; }
.fast-doc-body { display:flex; flex-direction:column; gap:10px; }
.fast-doc .fast-block { font-size:15px; line-height:1.6; margin:0; }
.fast-doc h3.fast-block { font-size:18px; margin-top:10px; font-family:inherit; color:#111318; }
.fast-doc h4.fast-block { font-size:16px; margin-top:4px; color:#111318; }
.fast-doc li.fast-block { margin-left:20px; list-style:disc; }
.fast-block.is-typing::after { content:""; display:inline-block; width:2px; height:1.05em; margin-left:2px; vertical-align:-2px; background:#0f62fe; animation:fast-blink .8s steps(1) infinite; }
.fast-block.is-revised { animation:fast-revise 1.4s ease-out; }
.fast-outline-item { animation:fast-rise .5s var(--delay,0ms) both; }
.fast-skeleton { display:flex; flex-direction:column; gap:7px; margin:8px 0 6px; }
.fast-skeleton span { height:9px; border-radius:5px; background:linear-gradient(90deg,#eceef2 25%,#dfe3ea 45%,#eceef2 65%); background-size:300% 100%; animation:fast-shimmer 1.6s linear infinite; }
.fast-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px; margin:0 0 16px; }
.fast-shot { margin:0; aspect-ratio:4/3; border-radius:8px; overflow:hidden; position:relative; background:#eceef2; }
.fast-shot img { width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity .7s, transform .9s; }
.fast-shot.is-ready img { opacity:1; transform:none; }
.fast-shot-paint { position:absolute; inset:-20px; background:conic-gradient(from var(--fast-a,0deg),#c7d2fe,#fbcfe8,#bae6fd,#bbf7d0,#c7d2fe); filter:blur(14px); opacity:.85; }
.fast-gallery[data-painting="true"] .fast-shot-paint { animation:fast-paint 3s linear infinite; }
.fast-code { margin:12px 0 0; padding:14px 16px; border-radius:10px; background:#161b22; color:#7ee787; font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; word-break:break-all; min-height:120px; }
.fast-code code::after { content:"▋"; animation:fast-blink .8s steps(1) infinite; color:#58a6ff; }
.fast-confetti { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.fast-confetti i { position:absolute; top:-12px; width:8px; height:12px; border-radius:2px; animation:fast-fall 2s ease-in forwards; }

@property --fast-a { syntax:"<angle>"; inherits:false; initial-value:0deg; }
@keyframes fast-spin { to { transform:rotate(360deg); } }
@keyframes fast-flow { to { background-position:-200% 0; } }
@keyframes fast-stripes { to { background-position:22px 0; } }
@keyframes fast-sheen { from { background-position:100% 0; } to { background-position:-150% 0; } }
@keyframes fast-pop { 0% { transform:scale(.4); opacity:0; } 70% { transform:scale(1.12); opacity:1; } 100% { transform:scale(1); } }
@keyframes fast-rise { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes fast-blink { 50% { opacity:0; } }
@keyframes fast-ping { 0% { transform:scale(.4); opacity:.9; } 100% { transform:scale(3.2); opacity:0; } }
@keyframes fast-scanline { from { background-position:120% 0; } to { background-position:-120% 0; } }
@keyframes fast-shimmer { from { background-position:100% 0; } to { background-position:-200% 0; } }
@keyframes fast-paint { to { --fast-a:360deg; } }
@keyframes fast-revise { from { background:rgba(255,214,10,.45); } to { background:transparent; } }
@keyframes fast-fall { 0% { transform:translate(0,0) rotate(0); opacity:1; } 100% { transform:translate(var(--x,0),460px) rotate(var(--r,360deg)); opacity:0; } }
/* Loading indicators keep moving with reduced motion; decorative motion stops. */
@media (prefers-reduced-motion: reduce) {
  .fast-step[data-state="running"] .fast-step-mark { animation-duration:1.6s; }
  .fast-meter-fill, .fast-meter-fill::after, .fast-step[data-state="running"] strong, .fast-site, .fast-term, .fast-outline-item, .fast-radar span, .fast-confetti i { animation:none; }
  .fast-step[data-state="running"] strong { color:var(--text,#111318); background:none; }
  .fast-radar span { opacity:.4; }
}
@media (max-width:560px) {
  .fast-hud { gap:6px; }
  .fast-hud b { font-size:17px; }
  .fast-doc { padding:16px; }
  .fast-meter-value { font-size:22px; min-width:60px; }
}
.sites-search { display:block; margin:0 0 14px; }
.sites-search input { width:100%; max-width:480px; }
.site-card[hidden] { display:none; }
.analysis-fast-row .fast-page-url { display:flex; flex-direction:column; gap:6px; flex:1 1 320px; max-width:520px; }
.analysis-fast-row .fast-page-url[hidden] { display:none; }

/* Site chooser: soften and blur the page behind the dialog in both themes. */
#content-site-dialog::backdrop { background:rgba(12,12,20,.45); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
/* Master billing */
.billing-cell { min-width:200px; }
.billing-invoice { margin-top:8px; padding-top:8px; border-top:1px solid var(--border); }
.billing-error { font-size:12px; max-width:240px; white-space:normal; }
.billing-send { margin-top:8px; }
.billing-check { display:flex !important; flex-direction:row !important; align-items:center; gap:8px; color:var(--text-2); font-size:12px; font-weight:500; }
.billing-check input { width:auto !important; }
.serp-key-form select { width:100%; box-sizing:border-box; background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text); font:inherit; font-size:12px; padding:9px 10px; }
.billing-codes { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.billing-actions { display:flex; gap:8px; margin-top:12px; }

/* Master customers list */
.master-header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.master-header-actions { display:flex; gap:8px; align-items:center; }
.master-header-actions form { margin:0; }
.tab-count { display:inline-grid; place-items:center; min-width:18px; height:18px; margin-left:4px; padding:0 5px; border-radius:9px; background:var(--red); color:#fff; font-size:10px; font-weight:700; }
.master-metrics { grid-template-columns:repeat(5,minmax(0,1fr)); }
.master-metrics .metric-card { min-height:92px; text-decoration:none; color:inherit; }
a.metric-card:hover { border-color:var(--border-strong); }
.metric-card.metric-warn { border-color:color-mix(in srgb,var(--amber) 45%,transparent); background:linear-gradient(145deg,var(--bg-card),var(--amber-soft)); }
.customer-list { padding:0; overflow:hidden; margin-bottom:18px; }
.customer-head, .customer-row { display:grid; grid-template-columns:minmax(200px,2.1fr) minmax(130px,1.2fr) minmax(150px,1.4fr) minmax(100px,.9fr) minmax(100px,.9fr) 20px; gap:16px; align-items:center; padding:14px 20px; }
.customer-head { padding-top:12px; padding-bottom:12px; border-bottom:1px solid var(--border); color:var(--text-3); font-size:10px; font-weight:720; text-transform:uppercase; letter-spacing:.075em; }
.customer { border-bottom:1px solid var(--border); }
.customer:last-child { border-bottom:0; }
.customer-row { cursor:pointer; list-style:none; font-size:13px; line-height:1.45; }
.customer-row::-webkit-details-marker { display:none; }
.customer-row:hover { background:var(--bg-hover); }
.customer-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.customer-row > div { min-width:0; }
.customer-row .muted { font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.c-name strong { font-size:14px; }
.c-chevron { color:var(--text-3); font-size:20px; line-height:1; transition:transform .15s ease; justify-self:end; }
.customer[open] .c-chevron { transform:rotate(90deg); }
.customer[open] > .customer-row { background:var(--bg-hover); }
.customer-owner .c-name strong { color:var(--text-2); }
.time-left { font-size:14px; }
.time-left.soon { color:var(--red); }
.time-left.near { color:var(--amber); }
.time-left.ok { color:var(--text); }
.customer-body { display:grid; grid-template-columns:repeat(auto-fit,minmax(225px,1fr)); gap:14px; padding:6px 20px 20px; background:var(--bg-hover); }
.cb-panel { padding:16px; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-sm); font-size:13px; }
.cb-panel h3 { margin:0 0 10px; color:var(--text-3); font-size:10px; font-weight:720; text-transform:uppercase; letter-spacing:.075em; }
.cb-panel h3:not(:first-child) { margin-top:18px; }
.cb-panel p { margin:8px 0 0; }
.cb-form { display:grid; gap:9px; margin:0 0 10px; }
.cb-plan { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.cb-plan .span-2 { grid-column:1 / -1; }
.cb-form label { display:flex; flex-direction:column; gap:5px; color:var(--text-2); font-size:11px; font-weight:650; }
.cb-form input, .cb-form select { width:100%; box-sizing:border-box; background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text); font:inherit; font-size:13px; padding:8px 10px; }
.cb-form input:focus-visible, .cb-form select:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.cb-form .btn { justify-self:start; }
.cb-invoice { margin-bottom:12px; padding:10px 12px; border:1px solid var(--border); border-radius:var(--radius-sm); line-height:1.5; }
.cb-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0; }
.cb-stats div { padding:8px 10px; background:var(--bg-card-2); border-radius:var(--radius-sm); }
.cb-stats dt { color:var(--text-3); font-size:10px; }
.cb-stats dd { margin:2px 0 0; font-size:16px; font-weight:650; }
.cb-actions { display:flex; flex-wrap:wrap; gap:8px; }
.cb-actions form { margin:0; }
.invite-card { margin-bottom:18px; scroll-margin-top:20px; }
.invite-form { display:grid; grid-template-columns:1.3fr 1.3fr 1fr auto; gap:12px; align-items:end; margin:12px 0 10px; }
.invite-form label { display:flex; flex-direction:column; gap:6px; color:var(--text-2); font-size:12px; font-weight:650; }
.invite-form input, .invite-form select { width:100%; box-sizing:border-box; background:var(--bg-card-2); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text); font:inherit; font-size:13px; padding:9px 11px; }
.activity-table td { vertical-align:top; }
.activity-table .nowrap { white-space:nowrap; }
.activity-event { max-width:420px; word-break:break-word; }
.activity-event .muted { font-size:12px; }
.card.table-card + .card.table-card { margin-top:18px; }
@media (max-width: 1100px) {
  .master-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .customer-head { display:none; }
  .customer-row { grid-template-columns:1fr 1fr 20px; row-gap:8px; }
  .customer-row .c-name { grid-column:1 / 3; }
  .customer-row .c-chevron { grid-column:3; grid-row:1; }
  .customer-row .c-active, .customer-row .c-usage { display:none; }
  .invite-form { grid-template-columns:1fr 1fr; }
}
@media (max-width: 600px) {
  .master-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-row { padding:12px 14px; }
  .customer-body { padding:6px 10px 14px; grid-template-columns:1fr; }
  .invite-form { grid-template-columns:1fr; }
  .cb-stats { grid-template-columns:repeat(2,1fr); }
}

/* Support list */
.support-row-actions { display:flex; gap:6px; align-items:center; }
.support-row-actions form { margin:0; }
.closed-support { margin-top:18px; }
.closed-support > summary { cursor:pointer; list-style:none; }
.closed-support > summary::-webkit-details-marker { display:none; }
.support-quick-close { display:flex; align-items:center; gap:10px; margin:6px 0 14px; }
.support-admin-table .support-message { display:-webkit-box; -webkit-line-clamp:3; line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; max-width:560px; white-space:normal; }
.support-admin-table td { vertical-align:top; }
.support-admin-table td:last-child { width:1%; white-space:nowrap; }
.support-admin-table td:nth-child(4) { white-space:nowrap; }
.content-watermark { margin-top:4px; font-size:.82rem; color:var(--muted, #667085); }
.content-watermark summary { cursor:pointer; display:inline-flex; align-items:center; gap:6px; list-style:none; }
.content-watermark summary::-webkit-details-marker { display:none; }
.content-watermark-dot { width:8px; height:8px; border-radius:50%; background:var(--green, #12b76a); flex:none; }
.content-watermark-dot.is-changed { background:var(--amber, #f79009); }
.content-watermark-timeline { display:flex; height:10px; margin:8px 0 4px; border-radius:5px; overflow:hidden; background:var(--line, #e4e7ec); max-width:520px; }
.content-watermark-timeline span { display:block; height:100%; background:var(--blue-200, #b2ccff); border-right:1px solid var(--surface, #fff); }
.content-watermark-timeline span.is-cleanup { background:var(--green, #12b76a); min-width:4px; }
.content-watermark ol { margin:6px 0 0; padding-left:18px; }
.content-watermark p { margin:0; }
.watermark-modes { border:0; padding:0; margin:0; display:grid; gap:10px; }
.watermark-modes .check-row { display:flex; align-items:flex-start; gap:10px; }
.watermark-modes .check-row input { margin-top:3px; flex:none; }
