/* finesse · register=product · shell=canonical-sidebar · palette=cobalt-coral · SOUL=6 SPECTACLE=3 DENSITY=7 */
:root {
  /* 字号刻度：顾问报告要的是层级清晰，不是 29 种肉眼分不出的小字号。 */
  --fs-micro: .75rem;   /* 12px 标记、状态、计数、元信息 */
  --fs-sm: .8125rem;    /* 13px 辅助说明、表单标签 */
  --fs-base: .875rem;   /* 14px 正文、列表项、按钮 */
  --fs-md: 1rem;        /* 16px 导语、卡片副标题 */
  --fs-lg: 1.25rem;     /* 20px 卡片标题 */
  --fs-xl: 1.5rem;      /* 24px 区块标题 */
  --ink: oklch(16% 0.025 255);
  --ink-2: oklch(20% 0.028 255);
  --surface: oklch(24% 0.03 255);
  --surface-2: oklch(28% 0.03 255);
  --line: oklch(42% 0.028 255);
  --text: oklch(92% 0.012 255);
  --muted: oklch(70% 0.025 255);
  --muted-dark: oklch(63% 0.025 255);
  --blue: oklch(64% 0.14 251);
  --blue-light: oklch(74% 0.1 246);
  --amber: oklch(77% 0.15 74);
  --red: oklch(66% 0.17 25);
  --green: oklch(73% 0.13 155);
  /* 三类客户阶段点缀色：故宫红 / 胭脂粉 / 帝王黄。只用于色脊、kicker 和数字，
     不做任何大面积底色。 */
  --palace-red: oklch(63% 0.185 27);
  --rouge: oklch(75% 0.115 18);
  --imperial: oklch(82% 0.15 88);
  --font-mono: "SF Mono", "SFMono-Regular", ui-monospace, "Cascadia Mono", "Roboto Mono", Consolas, monospace;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.32, 0.72, 0, 1);
  /* 材质层：重的分隔结构区，轻的承载内容。轻材质不叠轻材质。 */
  --sheen: inset 0 1px 0 oklch(100% 0 0 / .07);      /* 微光：光打在材质上边缘 */
  --sheen-strong: inset 0 1px 0 oklch(100% 0 0 / .12);
  --depth-1: 0 1px 2px oklch(0% 0 0 / .28), 0 8px 24px oklch(0% 0 0 / .18);
  --depth-2: 0 2px 6px oklch(0% 0 0 / .32), 0 18px 48px oklch(0% 0 0 / .26);
  --depth-overlay: 0 2px 8px oklch(0% 0 0 / .4), 0 40px 90px oklch(0% 0 0 / .5);
  font-family: "Avenir Next", "PingFang SC", "Source Han Sans SC", sans-serif;
  color: var(--text);
  background: var(--ink);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--ink); }
body { margin: 0; min-height: 100vh; background: var(--ink); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }
.skip-link { position: fixed; left: 1rem; top: 1rem; z-index: 1000; padding: .75rem 1rem; background: var(--amber); color: var(--ink); border-radius: .4rem; transform: translateY(-6rem); transition: transform .2s var(--ease-out); }
.skip-link:focus { transform: translateY(0); }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 17.5rem minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 1.65rem 1rem 1.2rem; display: flex; flex-direction: column; border-right: 1px solid var(--line); background: linear-gradient(180deg, color-mix(in oklch, var(--surface) 34%, var(--ink-2)) 0%, var(--ink-2) 42%); box-shadow: inset -1px 0 0 oklch(100% 0 0 / .03); }
.brand-lockup { display: flex; align-items: center; gap: .65rem; padding: 0 .6rem; font-size: var(--fs-lg); letter-spacing: -.04em; font-weight: 750; }
.brand-lockup > span:last-child span { color: var(--blue-light); }
.brand-mark { display: grid; place-items: center; width: 1.85rem; height: 1.85rem; border: 1px solid var(--blue); color: var(--blue-light); font-size: var(--fs-base); letter-spacing: 0; }
.project-switcher { margin: 2.25rem .55rem 1.65rem; padding-bottom: 1.45rem; border-bottom: 1px solid var(--line); display: grid; gap: .35rem; }
.eyebrow { display: block; color: var(--blue-light); font-size: var(--fs-micro); letter-spacing: .14em; font-weight: 750; text-transform: uppercase; }
.project-switcher strong { font-size: var(--fs-base); line-height: 1.35; }
.text-button { width: max-content; padding: .35rem 0; border: 0; color: var(--muted); background: transparent; font-size: var(--fs-sm); cursor: pointer; transition: color .15s var(--ease-out); }
.text-button:hover { color: var(--text); }
.nav-list { display: grid; gap: .22rem; }
.nav-item { display: flex; align-items: center; gap: .8rem; min-height: 2.7rem; border: 1px solid transparent; padding: .55rem .6rem; color: var(--muted); text-align: left; background: transparent; cursor: pointer; transition: background .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out); }
.nav-item > span { width: 1.15rem; color: var(--muted-dark); font-size: var(--fs-micro); letter-spacing: .08em; }
.nav-item:hover, .nav-item.active { color: var(--text); background: color-mix(in oklch, var(--surface) 72%, transparent); border-color: color-mix(in oklch, var(--line) 70%, transparent); }
.nav-item.active > span { color: var(--amber); }
.sidebar-footer { margin-top: auto; display: grid; gap: 1rem; padding: 1rem .55rem 0; border-top: 1px solid var(--line); }
.signal-mini { display: flex; gap: .5rem; align-items: center; color: var(--muted); font-size: var(--fs-sm); }
.signal-mini i { width: .42rem; height: .42rem; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 .24rem color-mix(in oklch, var(--green) 14%, transparent); }
.signal-mini[data-status="waiting"] i { background: var(--amber); box-shadow: 0 0 0 .24rem color-mix(in oklch, var(--amber) 14%, transparent); }
.profile-button { display: flex; align-items: center; gap: .65rem; border: 0; padding: 0; color: var(--text); background: transparent; cursor: pointer; font-weight: 750; font-size: var(--fs-sm); }
.profile-button::first-letter { color: var(--amber); }
.profile-button span { color: var(--muted); font-weight: 500; }

.main-area { min-width: 0; padding: 0 clamp(1.25rem, 3vw, 3.2rem) 3.5rem; background: var(--ink); }
.topbar { position: sticky; top: 0; z-index: 30; min-height: 4.8rem; display: flex; align-items: center; justify-content: space-between; margin-inline: calc(clamp(1.25rem, 3vw, 3.2rem) * -1); padding-inline: clamp(1.25rem, 3vw, 3.2rem); border-bottom: 1px solid transparent; background: color-mix(in oklch, var(--ink) 72%, transparent); backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); transition: border-color .3s var(--ease-out), box-shadow .3s var(--ease-out); }
.topbar.scrolled { border-bottom-color: var(--line); box-shadow: 0 1px 20px oklch(0% 0 0 / .35); }
.breadcrumb { display: flex; gap: .6rem; color: var(--muted); font-size: var(--fs-sm); }.breadcrumb b { color: var(--line); }
.top-actions { display: flex; align-items: center; gap: .65rem; }.last-saved { color: var(--muted-dark); font-size: var(--fs-sm); }
.button { min-height: 2.65rem; padding: 0 1rem; border: 1px solid transparent; border-radius: .22rem; cursor: pointer; font-size: var(--fs-base); font-weight: 720; transition: transform .1s var(--ease-out), background .15s var(--ease-out), border-color .15s var(--ease-out), box-shadow .15s var(--ease-out); }
.button:hover:not(:disabled) { transform: translateY(-1px); }.button:active:not(:disabled) { transform: scale(.975); transition-duration: .06s; }.button:disabled { cursor: not-allowed; opacity: .42; }
.button.primary { background: var(--amber); color: oklch(18% .03 70); box-shadow: var(--sheen-strong), var(--depth-1); }.button.primary:hover:not(:disabled) { background: color-mix(in oklch, var(--amber) 88%, white); }
.button.secondary { background: color-mix(in oklch, var(--surface) 40%, transparent); color: var(--text); border-color: var(--line); box-shadow: var(--sheen); }.button.secondary:hover { background: var(--surface); }

.view { display: none; }.view.active { display: block; }
@keyframes reveal { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.intro-row { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: clamp(2.3rem, 5vw, 4.5rem) 0 2.2rem; }
h1, h2, h3, p { margin-top: 0; } h1 { margin-bottom: 0; font-size: clamp(2.45rem, 5vw, 4.8rem); line-height: .93; letter-spacing: -.07em; } h1 em { color: var(--blue-light); font-style: normal; }
h2 { margin-bottom: 0; letter-spacing: -.035em; } h3 { letter-spacing: -.02em; }
.article-meta { display: flex; flex-direction: column; align-items: flex-end; gap: .6rem; color: var(--muted); font-size: var(--fs-sm); white-space: nowrap; }.status-pill { padding: .32rem .55rem; border: 1px solid color-mix(in oklch, var(--amber) 70%, var(--line)); color: var(--amber); font-weight: 700; }

.journey { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); margin-bottom: 1.2rem; overflow: hidden; }
.journey-step { position: relative; display: grid; grid-template-columns: auto 1fr; column-gap: .7rem; padding: 1.05rem 1rem; border-right: 1px solid var(--line); background: color-mix(in oklch, var(--surface) 40%, transparent); }.journey-step:last-child { border-right: 0; }.journey-step span { grid-row: span 2; color: var(--muted-dark); font-size: var(--fs-micro); }.journey-step b { font-size: var(--fs-base); }.journey-step small { color: var(--muted); font-size: var(--fs-micro); margin-top: .18rem; }.journey-step.done span { color: var(--green); }.journey-step.active { background: var(--surface); box-shadow: inset 0 -2px 0 var(--amber); }.journey-step.active span { color: var(--amber); }

.score-grid { display: grid; grid-template-columns: minmax(19rem, 1.5fr) minmax(13rem, .8fr) minmax(13rem, .8fr); gap: 1.2rem; }.score-primary, .metric-panel, .diagnostic-panel, .evidence-panel, .content-stage { border: 1px solid var(--line); background: linear-gradient(180deg, color-mix(in oklch, var(--surface) 84%, transparent) 0%, color-mix(in oklch, var(--surface) 62%, transparent) 100%); box-shadow: var(--sheen), var(--depth-1); }
.score-primary { padding: 1.35rem; background: linear-gradient(180deg, color-mix(in oklch, var(--surface) 118%, white) 0%, var(--surface) 100%); box-shadow: var(--sheen-strong), var(--depth-2); }.score-topline, .score-footer, .section-heading, .content-stage-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.score-delta { color: var(--green); font-size: var(--fs-sm); font-weight: 700; }.score-center { display: flex; align-items: center; gap: 1.3rem; padding: 1.05rem 0; }.score-ring { width: 6.2rem; aspect-ratio: 1; display: grid; place-content: center; border-radius: 50%; background: radial-gradient(circle at center, var(--surface) 59%, transparent 60%), conic-gradient(var(--amber) 0 68%, var(--line) 68% 100%); text-align: center; }.score-ring strong { font-size: 1.75rem; letter-spacing: -.08em; }.score-ring small { color: var(--muted); font-size: var(--fs-micro); }.score-center h2 { font-size: var(--fs-lg); }.score-center p { max-width: 22ch; margin: .5rem 0 0; color: var(--muted); font-size: var(--fs-sm); line-height: 1.5; }.score-footer { padding-top: .9rem; border-top: 1px solid color-mix(in oklch, var(--line) 78%, transparent); color: var(--muted-dark); font-size: var(--fs-micro); }
.metric-panel { min-height: 10.6rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1.3rem; }.metric-label { color: var(--muted); font-size: var(--fs-sm); }.metric-panel strong { font-size: 2.3rem; letter-spacing: -.07em; font-variant-numeric: tabular-nums; }.meter, .dimension-meter { height: .35rem; overflow: hidden; background: var(--line); }.meter i, .dimension-meter i { display: block; width: var(--value); height: 100%; background: var(--blue-light); }.metric-panel small { color: var(--muted); font-size: var(--fs-micro); line-height: 1.45; }.metric-panel.alert strong { color: var(--red); }.risk-list { display: flex; flex-wrap: wrap; gap: .35rem; }.risk-list span { padding: .23rem .38rem; color: color-mix(in oklch, var(--red) 75%, var(--text)); border: 1px solid color-mix(in oklch, var(--red) 46%, var(--line)); font-size: var(--fs-micro); }

.workspace-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(19rem, .8fr); gap: 1.2rem; margin-top: 1.2rem; }.diagnostic-panel, .evidence-panel { padding: 1.3rem; }.section-heading { margin-bottom: 1.1rem; }.section-heading h2 { margin: .3rem 0 0; font-size: var(--fs-lg); }.queue-count { display: grid; place-items: center; width: 2rem; height: 2rem; background: color-mix(in oklch, var(--amber) 18%, var(--surface)); color: var(--amber); font-size: var(--fs-base); font-weight: 800; }
.dimension-list { display: grid; }.dimension-row { display: grid; grid-template-columns: 6.6rem 1.55rem minmax(5rem, 1fr) 4rem; align-items: center; gap: .8rem; padding: .95rem 0; border: 0; border-bottom: 1px solid color-mix(in oklch, var(--line) 75%, transparent); color: var(--text); text-align: left; background: transparent; cursor: pointer; }.dimension-row:hover { color: var(--blue-light); }.dimension-row span { font-size: var(--fs-base); }.dimension-row b { color: var(--blue-light); font-size: var(--fs-base); font-variant-numeric: tabular-nums; }.dimension-row small { color: var(--muted); font-size: var(--fs-micro); text-align: right; }.dimension-meter { height: .28rem; }.dimension-meter.risk i { background: var(--red); }.explanation { min-height: 2.1rem; margin-top: 1rem; color: var(--muted); font-size: var(--fs-sm); line-height: 1.5; }
.fact-queue { display: grid; }.fact-item { position: relative; display: grid; grid-template-columns: 1rem 1fr auto; gap: .75rem; align-items: start; padding: .82rem 0; border-bottom: 1px solid color-mix(in oklch, var(--line) 75%, transparent); cursor: pointer; }.fact-item input { position: absolute; opacity: 0; }.fact-check { width: 1rem; height: 1rem; margin-top: .12rem; border: 1px solid var(--muted-dark); }.fact-item input:checked + .fact-check { border-color: var(--amber); background: var(--amber); box-shadow: inset 0 0 0 3px var(--surface); }.fact-item b { display: block; font-size: var(--fs-sm); }.fact-item small { display: block; margin-top: .26rem; color: var(--muted); font-size: var(--fs-micro); line-height: 1.45; }.fact-item em { color: var(--amber); font-size: var(--fs-micro); font-style: normal; }.evidence-action { width: 100%; margin-top: 1rem; }

.content-stage { margin-top: 1.2rem; padding: 1.35rem; }.content-stage-header { padding-bottom: 1.15rem; border-bottom: 1px solid var(--line); }.content-stage-header h2 { margin: .25rem 0 .4rem; font-size: var(--fs-lg); }.content-stage-header > div > span { color: var(--muted); font-size: var(--fs-micro); }.tab-group { display: flex; border: 1px solid var(--line); }.tab-group button { min-height: 2.2rem; border: 0; border-right: 1px solid var(--line); padding: 0 .8rem; color: var(--muted); background: transparent; font-size: var(--fs-sm); cursor: pointer; }.tab-group button:last-child { border-right: 0; }.tab-group button.active { color: var(--ink); background: var(--blue-light); font-weight: 800; }.article-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) 15.8rem; gap: 1.5rem; padding-top: 1.25rem; }.article-copy { max-width: 70ch; animation: reveal .3s var(--ease-out) both; }.article-copy.hidden { display: none; }.article-kicker { color: var(--muted-dark); font-size: var(--fs-micro); letter-spacing: .12em; text-transform: uppercase; }.article-copy h3 { max-width: 24ch; margin-bottom: 1rem; font-size: var(--fs-xl); line-height: 1.2; }.article-copy > p:not(.article-kicker):not(.flagged):not(.verified) { color: color-mix(in oklch, var(--text) 88%, var(--muted)); font-size: var(--fs-base); line-height: 1.8; }.flagged, .verified { margin-top: 1rem; padding: .75rem; font-size: var(--fs-sm); line-height: 1.5; }.flagged { border-left: 2px solid var(--red); color: color-mix(in oklch, var(--red) 68%, var(--text)); background: color-mix(in oklch, var(--red) 9%, transparent); }.verified { border-left: 2px solid var(--green); color: color-mix(in oklch, var(--green) 65%, var(--text)); background: color-mix(in oklch, var(--green) 8%, transparent); }.flagged span, .verified span { margin-right: .4rem; font-weight: 800; }.change-log { display: grid; gap: .7rem; }.change-log div { padding-bottom: .7rem; border-bottom: 1px solid var(--line); }.change-log b { color: var(--blue-light); font-size: var(--fs-sm); }.change-log p { margin: .35rem 0 0; color: var(--muted); font-size: var(--fs-base); line-height: 1.5; }
.action-rail { align-self: start; padding: 1.1rem; border-left: 1px solid var(--line); background: color-mix(in oklch, var(--ink) 30%, transparent); }.action-rail h3 { margin: .6rem 0; font-size: var(--fs-lg); }.action-rail p { color: var(--muted); font-size: var(--fs-sm); line-height: 1.55; }.action-rail .button { width: 100%; margin-top: .65rem; }.action-rail small { display: block; margin-top: .6rem; color: var(--muted-dark); font-size: var(--fs-micro); line-height: 1.45; }
.placeholder-view, .workspace-view { max-width: 62rem; padding: 6rem 0; }.placeholder-view h1, .workspace-view h1 { margin: .5rem 0 1rem; font-size: clamp(2.6rem, 5vw, 4.8rem); }.placeholder-view p:not(.eyebrow) { color: var(--muted); font-size: var(--fs-md); line-height: 1.65; }.placeholder-view .button { margin-top: 1.25rem; }
.view-lede { max-width: 64ch; margin: 0 0 1.6rem; color: var(--muted); font-size: var(--fs-md); line-height: 1.75; }.control-card { padding: 1.35rem; border: 1px solid var(--line); background: color-mix(in oklch, var(--surface) 70%, transparent); }.import-form { max-width: 52rem; }.control-card > label, .form-grid label { display: grid; gap: .45rem; color: var(--muted); font-size: var(--fs-sm); font-weight: 700; letter-spacing: .03em; }.control-card input, .control-card select, .control-card textarea { width: 100%; min-height: 2.7rem; border: 1px solid var(--line); border-radius: .16rem; padding: .68rem .75rem; color: var(--text); background: var(--ink-2); outline: none; }.control-card textarea { min-height: 5.7rem; resize: vertical; }.control-card input::placeholder, .control-card textarea::placeholder { color: var(--muted-dark); }.control-card select { appearance: auto; }.control-card small { color: var(--muted-dark); font-size: var(--fs-micro); font-weight: 500; letter-spacing: 0; }.form-inline { display: flex; gap: .65rem; margin-top: .55rem; }.form-inline input { flex: 1; }.form-help { margin: .7rem 0 0; color: var(--muted-dark); font-size: var(--fs-micro); line-height: 1.5; }.job-status { min-height: 3.1rem; margin-top: 1rem; padding: .82rem 1rem; border-left: 2px solid var(--blue); color: var(--muted); background: color-mix(in oklch, var(--blue) 7%, transparent); font-size: var(--fs-sm); line-height: 1.5; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.form-grid .wide { grid-column: 1 / -1; }.form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin-top: 1.2rem; }.form-actions > span { color: var(--muted); font-size: var(--fs-sm); }.settings-grid { display: grid; gap: 1.2rem; }.model-form, .routing-form { max-width: 58rem; }.config-state { padding: .3rem .5rem; color: var(--muted); border: 1px solid var(--line); font-size: var(--fs-micro); }.config-state.ready { color: var(--green); border-color: color-mix(in oklch, var(--green) 54%, var(--line)); }.security-note { max-width: 58rem; margin-top: 1.2rem; padding: 1rem 1.1rem; border-left: 2px solid var(--amber); background: color-mix(in oklch, var(--amber) 7%, transparent); }.security-note span { color: var(--amber); font-size: var(--fs-micro); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.security-note p { margin: .4rem 0 0; color: var(--muted); font-size: var(--fs-sm); line-height: 1.6; }
.toast { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 10; visibility: hidden; max-width: min(24rem, calc(100vw - 2.5rem)); padding: .85rem 1rem; border: 1px solid color-mix(in oklch, var(--green) 62%, var(--line)); opacity: 0; color: var(--text); background: var(--surface-2); box-shadow: 0 .8rem 2.8rem color-mix(in oklch, var(--ink) 75%, transparent); font-size: var(--fs-sm); pointer-events: none; transform: translateY(calc(100% + 2rem)); transition: transform .32s var(--ease-out), opacity .22s var(--ease-out); }.toast.show { visibility: visible; opacity: 1; transform: translateY(0); }.toast[data-tone="error"] { border-color: color-mix(in oklch, var(--red) 62%, var(--line)); }

@media (max-width: 1050px) { .score-grid { grid-template-columns: 1fr 1fr; }.score-primary { grid-column: 1 / -1; }.workspace-grid { grid-template-columns: 1fr; }.article-layout { grid-template-columns: 1fr; }.action-rail { border-left: 0; border-top: 1px solid var(--line); }.journey { grid-template-columns: 1fr 1fr; }.journey-step:nth-child(2) { border-right: 0; }.journey-step:nth-child(-n+2) { border-bottom: 1px solid var(--line); } }
@media (max-width: 760px) { .app-shell { display: block; }.sidebar { position: static; width: auto; height: auto; padding: 1rem; border-right: 0; border-bottom: 1px solid var(--line); }.project-switcher { margin: .8rem 0 0; padding: .75rem 0 0; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }.project-switcher .project-label { grid-column: 1 / -1; }.project-switcher strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sidebar-footer { display: none; }.nav-list { display: flex; overflow-x: auto; margin-top: 1rem; }.nav-item { flex: 0 0 auto; }.main-area { padding: 0 1rem 2.5rem; }.topbar { align-items: flex-start; flex-direction: column; gap: .85rem; padding: .9rem 0; }.top-actions { width: 100%; }.last-saved { display: none; }.top-actions .button { flex: 1; padding: 0 .65rem; }.intro-row { align-items: flex-start; flex-direction: column; gap: 1.2rem; }.article-meta { align-items: flex-start; white-space: normal; }.journey { margin-inline: -1rem; }.score-grid { grid-template-columns: 1fr; }.score-primary { grid-column: auto; }.content-stage { margin-inline: -1rem; padding: 1rem; }.content-stage-header { align-items: flex-start; flex-direction: column; }.dimension-row { grid-template-columns: 5.2rem 1.4rem 1fr; }.dimension-row small { display: none; }.tab-group { width: 100%; }.tab-group button { flex: 1; padding: 0 .3rem; }.article-copy h3 { font-size: var(--fs-lg); }.metric-panel { min-height: 9rem; }.workspace-view { padding: 3.4rem 0; }.form-inline, .form-grid { grid-template-columns: 1fr; flex-direction: column; }.form-grid .wide { grid-column: auto; }.form-inline .button { width: 100%; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* Evidence ledger: a restrained product substrate, not an AI marketing hero. */
body::before { content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .028; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.app-shell { position: relative; z-index: 1; }
body.public-report-mode .app-shell { display: none; }
.main-area { position: relative; isolation: isolate; background-image: repeating-linear-gradient(90deg, transparent 0, transparent 79px, color-mix(in oklch, var(--blue) 4%, transparent) 80px); }
.main-area::before { content: "ECHO / EVIDENCE LEDGER"; position: absolute; top: 7.2rem; right: clamp(1.25rem, 3vw, 3.2rem); z-index: -1; color: color-mix(in oklch, var(--blue) 22%, transparent); font: 600 .58rem/1 "SFMono-Regular", Consolas, monospace; letter-spacing: .16em; writing-mode: vertical-rl; }
.main-area > * { position: relative; z-index: 1; }

.eyebrow { color: color-mix(in oklch, var(--blue-light) 78%, var(--muted)); font-family: "SFMono-Regular", Consolas, monospace; font-size: var(--fs-micro); letter-spacing: .11em; }
.intro-row { padding: clamp(2rem, 3.4vw, 3.2rem) 0 1.55rem; }
.intro-row h1 { max-width: 9ch; font-size: clamp(2.65rem, 4.1vw, 4.15rem); line-height: .91; text-wrap: balance; }
.workspace-view { width: 100%; max-width: none; padding: 3.5rem 0 4.5rem; }
.workspace-view > .eyebrow { display: none; }
.workspace-view h1 { max-width: 56rem; font-size: clamp(2rem, 2.8vw, 3rem); line-height: 1.05; text-wrap: nowrap; }
.view-lede { max-width: 72rem; color: color-mix(in oklch, var(--text) 78%, var(--muted)); }

.journey, .score-primary, .metric-panel, .diagnostic-panel, .evidence-panel, .content-stage, .control-card { box-shadow: inset 0 1px 0 color-mix(in oklch, var(--blue-light) 16%, transparent); }
.journey { background: color-mix(in oklch, var(--surface) 48%, transparent); }
.journey-step.active { box-shadow: inset 0 -2px 0 var(--amber), inset 0 1px 0 color-mix(in oklch, var(--amber) 22%, transparent); }
.score-primary { background: color-mix(in oklch, var(--surface) 88%, var(--ink)); }
.score-topline::after, .section-heading::after { content: ""; flex: 1; min-width: 1.5rem; height: 1px; margin-left: .2rem; background: color-mix(in oklch, var(--line) 75%, transparent); }
.score-topline > *, .section-heading > * { position: relative; z-index: 1; }
.metric-panel { background: color-mix(in oklch, var(--surface) 56%, transparent); }
.metric-panel strong, .score-ring strong, .dimension-row b { font-family: "SFMono-Regular", Consolas, monospace; }
.status-pill { border-color: color-mix(in oklch, var(--amber) 48%, var(--line)); background: color-mix(in oklch, var(--amber) 7%, transparent); }
.nav-item.active { border-color: color-mix(in oklch, var(--blue) 42%, var(--line)); background: color-mix(in oklch, var(--blue) 9%, var(--surface)); }
.nav-item.active::after { content: ""; width: .35rem; height: .35rem; margin-left: auto; background: var(--amber); }

.control-card { max-width: 58rem; padding: clamp(1.15rem, 2.4vw, 1.75rem); border: 1px solid var(--line); background: linear-gradient(180deg, color-mix(in oklch, var(--surface) 92%, var(--ink)) 0%, color-mix(in oklch, var(--surface) 78%, var(--ink)) 100%); box-shadow: var(--sheen), var(--depth-1); }
.control-card input, .control-card select, .control-card textarea { color-scheme: dark; background: color-mix(in oklch, var(--ink-2) 92%, var(--surface)); }
.control-card input:focus, .control-card select:focus, .control-card textarea:focus { border-color: var(--blue-light); box-shadow: 0 0 0 2px color-mix(in oklch, var(--blue) 30%, transparent); }
.form-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.form-grid > label { min-width: 0; }
.evidence-form .form-grid > label:first-child { grid-column: 1 / -1; max-width: 28rem; }
.evidence-form .form-grid > .wide, .model-form .form-grid > .wide { grid-column: 1 / -1; }
.form-actions { padding-top: .25rem; border-top: 1px solid color-mix(in oklch, var(--line) 68%, transparent); }
.security-note { border-left: 0; border-top: 2px solid var(--amber); }

@media (max-width: 760px) {
  .main-area { background-image: none; }
  .main-area::before { display: none; }
  .intro-row h1, .workspace-view h1 { font-size: clamp(2.15rem, 11vw, 3rem); }
  .form-grid, .evidence-form .form-grid { grid-template-columns: 1fr; }
  .evidence-form .form-grid > label:first-child, .evidence-form .form-grid > .wide, .model-form .form-grid > .wide { grid-column: auto; max-width: none; }
}

@media (max-width: 760px) {
  .nav-list { scrollbar-width: none; }
  .nav-list::-webkit-scrollbar { display: none; }
}

/* V5 guided workflow: advanced tools stay available without competing with the next action. */
.nav-advanced { margin-top: .35rem; border-top: 1px solid var(--line); padding-top: .35rem; }
.nav-group-label { margin: 0; padding: .55rem .75rem; color: var(--muted-dark); font-size: var(--fs-micro); }
.nav-advanced-list { display: grid; gap: .15rem; padding-top: .15rem; }
.nav-advanced .nav-item { min-height: 2.2rem; padding-left: 1rem; font-size: var(--fs-sm); }
/* Customer entry: one stage rail, one active surface, one primary action. */
.stage-deck { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; margin: 20px 0 28px; }
.stage-palace-red { --stage-accent: var(--palace-red); --stage-swatch: #b7352e; --stage-tint: #f9ece9; }
.stage-rouge { --stage-accent: var(--rouge); --stage-swatch: #e995ad; --stage-tint: #fbeef2; }
.stage-imperial { --stage-accent: var(--imperial); --stage-swatch: #e9b928; --stage-tint: #faf2d8; }
.stage-rail { grid-column: 1; grid-row: 1; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.stage-rail-item { display: inline-flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid transparent; border-radius: 8px; color: var(--muted); font-size: 13px; }
.stage-rail-item i { width: 16px; height: 16px; border-radius: 4px; background: var(--stage-swatch); }
.stage-rail-item[aria-current="step"] { color: var(--text); font-weight: 750; border-color: var(--line); background: var(--surface); }
.stage-deck-side { grid-column: 2; grid-row: 1; display: flex; align-items: center; }
.stage-override { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 12px; }
.stage-override select { min-height: 44px; max-width: 150px; border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; color: var(--text); background: var(--surface); }
.stage-override.is-locked { display: none; }
.stage-card { grid-column: 1 / -1; position: relative; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .95fr); grid-template-rows: auto auto 1fr; gap: 16px 40px; padding: 32px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.stage-card::before { content: ''; position: absolute; top: 0; left: 32px; width: 64px; height: 5px; background: var(--stage-swatch); border-radius: 0 0 3px 3px; }
.stage-card-head { grid-column: 1; grid-row: 1; }
.stage-kicker { display: inline-flex; width: fit-content; margin: 0 0 16px; padding: 6px 10px; background: var(--stage-tint); color: var(--stage-accent); border-radius: 5px; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
#stageDeck .stage-headline { margin: 0; font-size: clamp(28px, 3vw, 40px); font-weight: 850; line-height: 1.2; letter-spacing: -.035em; }
.stage-copy { grid-column: 1; grid-row: 2; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.stage-metrics { grid-column: 1; grid-row: 3; display: flex; align-items: start; gap: 28px; padding-top: 8px; }
.stage-stat { display: grid; gap: 10px; }
.stage-num { display: grid; place-items: center; width: fit-content; min-width: 64px; min-height: 56px; padding: 8px 12px; background: var(--stage-tint); border-radius: 8px; color: var(--stage-accent); font-family: var(--font-mono); font-style: normal; font-size: 28px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.stage-metrics small { color: var(--muted); font-size: 12px; }
.stage-card-body { grid-column: 2; grid-row: 1 / -1; display: flex; flex-direction: column; justify-content: center; gap: 16px; min-width: 0; padding-left: 32px; border-left: 1px solid var(--line); }
.stage-card-body > .form-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
.stage-note { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.stage-note:empty, .stage-strip-hint { display: none; }
#stageDeck:not([data-stage="prospect"]) [data-stage-card="prospect"],
#stageDeck:not([data-stage="nurturing"]) [data-stage-card="nurturing"],
#stageDeck:not([data-stage="active"]) [data-stage-card="active"] { display: none; }
#start-view.has-subject > #start-title, #start-view.has-subject > #workspacePulse, #start-view.has-subject > .delivery-details { display: none !important; }
body[data-design="workspace"] .stage-card .start-brand-form { margin: 0; padding: 0; border: 0; box-shadow: none; background: transparent; }
body[data-design="workspace"] .stage-card .button { min-height: 44px; border-radius: 999px; }
@media (max-width: 760px) {
  .stage-deck { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .stage-rail { gap: 2px; }
  .stage-rail-item { padding: 8px; font-size: 12px; gap: 6px; }
  .stage-deck-side { grid-column: 1; grid-row: 2; justify-content: flex-end; }
  .stage-card { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; padding: 24px; gap: 16px; }
  .stage-card-head, .stage-copy, .stage-metrics, .stage-card-body { grid-column: 1; grid-row: auto; }
  .stage-card-body { border-left: 0; border-top: 1px solid var(--line); padding: 20px 0 0; }
  .stage-metrics { gap: 24px; }
  .stage-card-body > .form-actions { align-items: stretch; }
}
/* 深色胶囊：亮色卡上的主动作，黑底白字全圆角。 */
.button.dark-capsule { border-radius: 999px; border-color: color-mix(in oklch, var(--stage-accent, var(--amber)) 42%, var(--line)); background: oklch(16% 0.02 30); color: oklch(97% 0.01 20); padding-inline: 1.15rem; box-shadow: none; }
.button.dark-capsule:hover:not(:disabled) { background: oklch(24% 0.025 30); }
.stage-card .start-brand-form label { color: var(--muted); font-weight: 650; }
.stage-card .start-brand-form input { border-color: var(--line); background: var(--ink); color: var(--text); }
.start-brand-form { display: grid; gap: .8rem; margin-top: 1.1rem; }
.start-brand-form label { display: grid; gap: .35rem; color: var(--muted); font-size: var(--fs-sm); }
.start-brand-form input { min-height: 2.5rem; padding: 0 .7rem; border: 1px solid var(--line); color: var(--text); background: var(--ink); font-size: var(--fs-base); }
.start-brand-form .form-actions { margin-top: .2rem; }
#start-view .start-brand-form input { min-height: 44px; }
#start-view .start-brand-form .form-actions { align-items: flex-start; flex-direction: column; }
.start-status-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 1.2rem; border: 1px solid var(--line); background: var(--surface); }
.start-status { display: grid; gap: .22rem; padding: 1rem; border-right: 1px solid var(--line); color: var(--muted); }
.start-status:last-child { border-right: 0; }
.start-status b { color: var(--muted-dark); font: 700 .68rem/1 "SFMono-Regular", Consolas, monospace; }
.start-status span { color: var(--text); font-size: var(--fs-base); font-weight: 700; }
.start-status small { font-size: var(--fs-micro); line-height: 1.4; }
.start-status.active { box-shadow: inset 0 -2px 0 var(--blue); background: color-mix(in oklch, var(--blue) 5%, var(--surface)); }
.start-status.active b, .start-status.active span { color: var(--blue); }
.start-note { max-width: 48rem; margin-top: 2rem; }
@media (max-width: 760px) {
  .start-status-strip { grid-template-columns: 1fr 1fr; }
  .start-status:nth-child(2) { border-right: 0; }
  .start-status:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

/* Keep internal methodology out of the default customer path. It remains available to admins/debug views. */
.methodology-card, .start-status-strip, .metric-note, #promptLandscape, #geoModelsList, .geo-run-card .schedule-form { display: none !important; }
.start-note { display: none; }
.strategy-card > .form-help { display: none; }
.entity-profile-card .optional-context { display: none; }
.entity-profile-card.show-context .optional-context { display: block; }

/* Citation anchor redesign: a content-verification workspace, not an AI console. */
:root {
  --ink: oklch(96% 0.008 235);
  --ink-2: oklch(93% 0.011 235);
  --surface: oklch(99% 0.004 235);
  --surface-2: oklch(90% 0.014 235);
  --line: oklch(78% 0.016 235);
  --text: oklch(23% 0.016 235);
  --muted: oklch(44% 0.018 235);
  --muted-dark: oklch(57% 0.016 235);
  --blue: oklch(43% 0.075 232);
  --blue-light: oklch(36% 0.07 232);
  --amber: oklch(51% 0.125 32);
  --red: oklch(48% 0.14 28);
  --green: oklch(45% 0.075 155);
  /* 浅色皮肤的材质：微光是上边缘的白高光，影子要浅要散，不能是深色那套 */
  --sheen: inset 0 1px 0 oklch(100% 0 0 / .9);
  --sheen-strong: inset 0 1px 0 oklch(100% 0 0 / 1), inset 0 0 0 1px oklch(100% 0 0 / .5);
  --depth-1: 0 1px 2px oklch(20% .02 235 / .05), 0 8px 24px oklch(20% .02 235 / .06);
  --depth-2: 0 1px 3px oklch(20% .02 235 / .06), 0 16px 44px oklch(20% .02 235 / .09);
  --depth-overlay: 0 2px 8px oklch(20% .02 235 / .12), 0 36px 84px oklch(20% .02 235 / .22);
  background: var(--ink);
}

body::before { opacity: .012; mix-blend-mode: multiply; }
.app-shell { grid-template-columns: 15.5rem minmax(0, 1fr); }
.sidebar { padding: 1.35rem .85rem 1rem; background: var(--ink-2); border-color: color-mix(in oklch, var(--line) 75%, transparent); }
.brand-lockup { padding-inline: .45rem; font-weight: 720; }
.brand-lockup > span:last-child span { color: var(--text); }
.brand-mark { border-color: var(--text); color: var(--text); }
.project-switcher { margin: 1.85rem .45rem 1.35rem; border-color: var(--line); }
.project-label, .citation-kicker, .section-marker, .metric-caption { display: block; color: var(--muted); font-size: var(--fs-micro); font-weight: 650; letter-spacing: .04em; }
.citation-kicker { display: flex; align-items: center; gap: .45rem; }
.citation-kicker::before { content: "引"; display: grid; place-items: center; width: 1.2rem; height: 1.2rem; border: 1px solid currentColor; color: var(--blue); font-size: var(--fs-micro); font-weight: 800; }
.nav-list { gap: .15rem; }
.nav-item { min-height: 2.55rem; padding: .5rem .55rem; border-radius: 0; color: var(--muted); font-size: var(--fs-base); }
.nav-item:hover, .nav-item.active { color: var(--text); border-color: color-mix(in oklch, var(--blue) 30%, var(--line)); background: color-mix(in oklch, var(--blue) 6%, var(--surface)); }
.nav-item.active::after { content: "已选"; width: auto; height: auto; margin-left: auto; color: var(--blue); background: transparent; font-size: var(--fs-micro); font-weight: 650; }
.signal-mini i { box-shadow: none; }
.profile-button::first-letter { color: var(--text); }

.main-area { background: var(--ink); }
.main-area::before { display: none; }
.topbar { min-height: 4.25rem; border-color: var(--line); }
.breadcrumb { color: var(--muted); }
.button { border-radius: 0; font-weight: 650; }
.button.primary { background: var(--text); color: var(--surface); }
.button.primary:hover:not(:disabled) { background: color-mix(in oklch, var(--text) 88%, var(--blue)); }
.button.secondary { border-color: var(--line); color: var(--text); }
.button.secondary:hover { background: var(--surface-2); }
button:focus-visible, input:focus-visible { outline-color: var(--blue); }

.intro-row { align-items: start; padding: 2.25rem 0 1.7rem; }
.intro-row h1 { max-width: none; font-size: 2.15rem; line-height: 1; letter-spacing: -.055em; }
h1 em { color: inherit; }
.article-meta { align-items: flex-end; color: var(--muted); }
.status-pill { border-color: color-mix(in oklch, var(--amber) 55%, var(--line)); background: color-mix(in oklch, var(--amber) 6%, var(--surface)); color: var(--amber); }

.journey { margin-bottom: 1.6rem; border-color: var(--line); background: transparent; }
.journey-step { grid-template-columns: 1fr; padding: .95rem 1rem; background: transparent; }
.journey-step span { display: none; }
.journey-step b { font-size: var(--fs-base); font-weight: 700; }
.journey-step.active { box-shadow: inset 0 -2px 0 var(--blue); background: color-mix(in oklch, var(--blue) 4%, transparent); }
.journey-step.active b, .journey-step.active small { color: var(--blue); }

.score-grid { gap: 0; border: 1px solid var(--line); background: linear-gradient(180deg, oklch(100% 0 0) 0%, var(--surface) 100%); box-shadow: var(--sheen), var(--depth-1); }
.score-primary, .metric-panel { min-height: 12.1rem; border: 0; border-right: 1px solid var(--line); box-shadow: none; background: transparent; }
.metric-panel:last-child { border-right: 0; }
.score-primary { padding: 1.2rem 1.35rem; }
.score-topline { justify-content: flex-start; }
.score-topline::after { display: none; }
/* 卡片右上角的动作与状态靠右对齐，不要贴着标题。 */
.section-heading { justify-content: space-between; }
.section-heading::after { display: none; }
.section-heading > :last-child:not(:first-child) { flex: 0 0 auto; margin-left: auto; }
.score-delta { margin-left: auto; color: var(--green); }
.score-center { align-items: flex-end; gap: 1rem; padding: 1.25rem 0 .8rem; }
.score-ring { width: auto; aspect-ratio: auto; display: flex; align-items: baseline; gap: .25rem; border-radius: 0; background: transparent; text-align: left; }
.score-ring strong { color: var(--text); font-family: inherit; font-size: 3.35rem; font-weight: 700; letter-spacing: -.09em; }
.score-ring small { color: var(--muted); font-size: var(--fs-sm); }
.score-center h2 { font-size: var(--fs-md); }
.score-center p { margin-top: .35rem; color: var(--muted); }
.score-footer { border-color: var(--line); }
.metric-panel { justify-content: flex-start; gap: .8rem; padding: 1.2rem 1.35rem; }
.metric-panel strong { color: var(--text); font-size: 2.15rem; }
.metric-panel.alert strong { color: var(--red); }
.meter, .dimension-meter { background: var(--surface-2); }
.meter i, .dimension-meter i { background: var(--blue); }
.risk-list span { color: var(--muted); border-color: var(--line); }

.workspace-grid { gap: 2.2rem; margin-top: 2.2rem; }
.diagnostic-panel, .evidence-panel, .content-stage { padding: 0; border: 0; border-top: 2px solid var(--text); box-shadow: none; background: transparent; }
.section-heading { gap: .7rem; margin-bottom: .8rem; padding-top: .8rem; }
.section-heading h2 { margin-top: .2rem; font-size: var(--fs-lg); }
.section-marker { color: var(--blue); }
.queue-count { width: auto; height: auto; margin-left: auto; padding: .2rem .45rem; background: color-mix(in oklch, var(--amber) 8%, var(--surface)); color: var(--amber); }
.dimension-row { grid-template-columns: 6.6rem 1.55rem minmax(5rem, 1fr) 4rem; }
.dimension-row b { color: var(--text); font-family: inherit; }
.dimension-row:hover { color: var(--blue); }
.fact-item { padding: .9rem 0; }
.fact-item em { color: var(--amber); }
.evidence-action { color: var(--blue); }

.content-stage { margin-top: 2.2rem; padding-top: .85rem; }
.content-stage-header { align-items: flex-start; border-color: var(--line); }
.content-stage-header h2 { font-size: var(--fs-lg); }
.tab-group { border-color: var(--line); }
.tab-group button { color: var(--muted); }
.tab-group button.active { color: var(--surface); background: var(--text); }
.article-copy h3 { font-size: var(--fs-xl); }
.article-copy > p:not(.article-kicker):not(.flagged):not(.verified) { color: color-mix(in oklch, var(--text) 88%, var(--muted)); }
.flagged, .verified { border-left: 0; }
.flagged { border: 1px solid color-mix(in oklch, var(--red) 32%, var(--line)); border-top: 2px solid var(--red); }
.verified { border: 1px solid color-mix(in oklch, var(--green) 32%, var(--line)); border-top: 2px solid var(--green); }
.action-rail { padding: 1rem 0 0 1.2rem; border-left-color: var(--line); background: transparent; }
.action-rail .section-marker { margin-bottom: .5rem; }
.action-rail h3 { font-size: var(--fs-md); }

.workspace-view, .placeholder-view { padding: 3rem 0; }
.workspace-view h1, .placeholder-view h1 { font-size: 2rem; line-height: 1.05; }
.control-card { max-width: 60rem; padding: 1.35rem; border: 1px solid var(--line); background: linear-gradient(180deg, oklch(100% 0 0) 0%, var(--surface) 100%); box-shadow: var(--sheen), var(--depth-1); }
.control-card input, .control-card select, .control-card textarea { color-scheme: light; border-color: var(--line); background: var(--ink); }
.control-card input:focus, .control-card select:focus, .control-card textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 2px color-mix(in oklch, var(--blue) 18%, transparent); }
.job-status, .security-note { border-left: 0; border-top: 2px solid var(--blue); background: color-mix(in oklch, var(--blue) 5%, var(--surface)); }
.security-note { border-top-color: var(--amber); }
.control-card code { display: inline-block; max-width: 100%; overflow-wrap: anywhere; color: var(--text); font-size: var(--fs-sm); }

@media (max-width: 1050px) {
  .score-primary, .metric-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .metric-panel:last-child { border-bottom: 0; }
}

@media (max-width: 760px) {
  .sidebar { padding: 1rem; }
  .nav-item { min-height: 2.65rem; }
  .nav-item.active::after { display: none; }
  .intro-row { padding-top: 1.5rem; }
  .intro-row h1, .workspace-view h1, .placeholder-view h1 { font-size: 2rem; }
  .article-meta { align-items: flex-start; }
  .score-grid { margin-inline: 0; }
  .score-primary, .metric-panel { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .metric-panel:last-child { border-bottom: 0; }
  .workspace-grid { gap: 1.8rem; margin-top: 1.8rem; }
  .content-stage { margin-inline: 0; }
}

/* Supplied brand assets keep their own safe area; crop it at display size, not in the source files. */
.brand-lockup { display: block; width: 10rem; height: 2.5rem; overflow: hidden; padding: 0; text-decoration: none; }
.brand-logo { display: block; width: 13.2rem; max-width: none; height: auto; margin: -1.02rem 0 -1.02rem -1.8rem; }
.brand-logo-dark { display: none; }
body[data-theme="dark"] .brand-logo-light { display: none; }
body[data-theme="dark"] .brand-logo-dark { display: block; }
[hidden] { display: none !important; }
body.auth-pending .app-shell { visibility: hidden; pointer-events: none; }
.boot-status { position: fixed; z-index: 30; inset: 0; display: grid; place-content: center; gap: .45rem; padding: 1.5rem; color: var(--text); text-align: center; background: var(--ink); }
.boot-status span { color: var(--muted); font-size: var(--fs-sm); }
body:not(.auth-pending) .boot-status, body:has(.auth-gate:not([hidden])) .boot-status { display: none; }
body.workspace-loading .main-area { opacity: .58; pointer-events: none; }

@media (max-width: 760px) {
  .brand-lockup { width: 8.8rem; height: 2.2rem; }
  .brand-logo { width: 11.6rem; margin: -.9rem 0 -.9rem -1.58rem; }
}

/* GEO operations surfaces */
.geo-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1.8rem 0 .8rem; border: 1px solid var(--line); background: linear-gradient(180deg, color-mix(in oklch, var(--surface) 108%, white) 0%, var(--surface) 100%); box-shadow: var(--sheen), var(--depth-1); }
.metric-note { max-width: 76rem; margin: 0 0 1.8rem; color: var(--muted); font-size: var(--fs-sm); line-height: 1.65; }
.geo-metric-grid article { display: grid; gap: .65rem; min-height: 8.7rem; padding: 1.15rem 1.25rem; border-right: 1px solid var(--line); }
.geo-metric-grid article:last-child { border-right: 0; }
.geo-metric-grid span { color: var(--muted); font-size: var(--fs-sm); }.geo-metric-grid strong { color: var(--text); font-size: 2rem; letter-spacing: -.06em; font-variant-numeric: tabular-nums; }.geo-metric-grid small { align-self: end; color: var(--muted-dark); font-size: var(--fs-micro); line-height: 1.45; }
.geo-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; margin-top: 1.2rem; }.geo-two-column .control-card { max-width: none; }.compact-grid { margin-top: 1rem; }.schedule-form { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem 1rem; margin-top: 1.1rem; padding-top: .9rem; border-top: 1px solid var(--line); color: var(--muted); font-size: var(--fs-sm); }.schedule-form label { display: flex; align-items: center; gap: .45rem; }.schedule-form select { min-height: 2rem; border: 1px solid var(--line); color: var(--text); background: var(--ink); }
.entity-profile-card { max-width: none; margin-top: 1.2rem; }.profile-check { display: flex; align-items: center; gap: .55rem; margin-top: 1rem; color: var(--muted); font-size: var(--fs-sm); }.profile-check input { width: auto; min-height: auto; }
.geo-assessment { display: grid; gap: .5rem; margin-top: 1rem; padding: .9rem 1rem; border-left: 3px solid var(--blue); background: color-mix(in srgb, var(--surface) 88%, var(--blue)); }.geo-assessment strong { color: var(--text); }.geo-assessment p, .geo-assessment li { margin: 0; color: var(--muted); font-size: var(--fs-sm); line-height: 1.5; }.geo-assessment ul { display: grid; gap: .2rem; margin: 0; padding-left: 1rem; }
.prompt-landscape { margin-top: 1rem; }.prompt-landscape > p { margin: 0 0 .5rem; color: var(--muted-dark); font-size: var(--fs-micro); }.prompt-landscape > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.prompt-landscape article { display: grid; gap: .2rem; min-width: 0; padding: .7rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.prompt-landscape strong { color: var(--blue); font-size: var(--fs-micro); }.prompt-landscape span { overflow: hidden; color: var(--text); font-size: var(--fs-sm); font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }.prompt-landscape small { color: var(--muted-dark); font-size: var(--fs-micro); line-height: 1.35; }
.knowledge-graph { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); }.knowledge-graph > p { margin: 0 0 .5rem; color: var(--muted-dark); font-size: var(--fs-micro); }.knowledge-graph > div { display: flex; flex-wrap: wrap; gap: .4rem; }.knowledge-graph span { display: inline-flex; gap: .3rem; max-width: 100%; padding: .3rem .45rem; border: 1px solid var(--line); color: var(--muted); font-size: var(--fs-micro); overflow-wrap: anywhere; }.knowledge-graph b { color: var(--blue); font-size: var(--fs-micro); }
.strategy-card { max-width: none; margin: 1.2rem 0; }.strategy-roadmap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1.1rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.strategy-roadmap article { display: grid; gap: .38rem; min-width: 0; padding: 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.strategy-roadmap span { color: var(--blue); font-size: var(--fs-micro); font-weight: 800; letter-spacing: .04em; }.strategy-roadmap strong { color: var(--text); font-size: var(--fs-base); line-height: 1.45; }.strategy-roadmap p { margin: 0; color: var(--muted); font-size: var(--fs-micro); line-height: 1.58; }
.intake-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; margin-top: 1.5rem; }.intake-grid .control-card { max-width: none; }.asset-library { max-width: none; margin-top: 1.2rem; }.asset-list { display: grid; }.asset-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--line); }.asset-item:last-child { border-bottom: 0; }.asset-item strong { color: var(--text); font-size: var(--fs-base); }.asset-item p { margin: .28rem 0 0; color: var(--muted); font-size: var(--fs-sm); }.asset-item small { color: var(--muted-dark); }.asset-item .asset-actions { display: flex; align-items: center; gap: .55rem; }.asset-status { padding: .2rem .4rem; color: var(--blue); border: 1px solid color-mix(in srgb, var(--blue) 45%, var(--line)); font-size: var(--fs-micro); white-space: nowrap; }
@media (max-width: 1050px) { .intake-grid { grid-template-columns: 1fr; } }
.geo-results { margin-top: 1.2rem; }.geo-list { display: grid; gap: .1rem; }.geo-item { padding: .85rem 0; border-bottom: 1px solid var(--line); }.geo-item:last-child { border-bottom: 0; }.geo-item strong { display: block; color: var(--text); font-size: var(--fs-base); line-height: 1.45; }.geo-item p { margin: .35rem 0 0; color: var(--muted); font-size: var(--fs-sm); line-height: 1.5; }.geo-item small { color: var(--muted-dark); font-size: var(--fs-micro); }.geo-item a { color: var(--blue); overflow-wrap: anywhere; }.geo-item-header { display: flex; align-items: start; gap: .55rem; justify-content: space-between; }.run-status { padding: .18rem .35rem; border: 1px solid var(--line); color: var(--muted); font-size: var(--fs-micro); white-space: nowrap; }.run-status.mentioned { color: var(--green); border-color: color-mix(in oklch, var(--green) 45%, var(--line)); }.tag-list { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }.tag-list span { padding: .3rem .5rem; border: 1px solid var(--line); color: var(--muted); font-size: var(--fs-micro); }.publish-card { margin-top: 1.2rem; }
.progressive-list { border-top: 1px solid var(--line); }
.progressive-list > summary, .prompt-preview-more > summary { min-height: 2.75rem; display: flex; align-items: center; color: var(--blue); font-size: var(--fs-sm); font-weight: 700; cursor: pointer; }
.progressive-list > div { display: grid; gap: .1rem; }
.prompt-preview-more { flex-basis: 100%; }
.prompt-preview-more > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.next-action-card { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin: 1.35rem 0 1.2rem; padding: 1.15rem 1.25rem; border: 1px solid color-mix(in oklch, var(--blue) 46%, var(--line)); border-left: .28rem solid var(--amber); background: color-mix(in oklch, var(--blue) 7%, var(--surface)); }.next-action-card h2 { margin: .24rem 0; color: var(--text); font-size: var(--fs-lg); }.next-action-card p:last-child { max-width: 62ch; margin: 0; color: var(--muted); font-size: var(--fs-sm); line-height: 1.55; }.next-action-card .button { flex: 0 0 auto; }
.baseline-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.2rem 0 0; padding: .95rem 1.1rem; border: 1px solid var(--line); background: color-mix(in oklch, var(--surface) 78%, transparent); }.baseline-bar > div { display: grid; gap: .2rem; }.baseline-bar span { color: var(--muted-dark); font-size: var(--fs-micro); letter-spacing: .06em; }.baseline-bar strong { color: var(--text); font-size: var(--fs-md); }.baseline-bar small { color: var(--muted); font-size: var(--fs-micro); }.baseline-status { flex: 0 0 auto; padding: .35rem .5rem; border: 1px solid color-mix(in oklch, var(--blue) 42%, var(--line)); color: var(--blue) !important; font-weight: 750; letter-spacing: 0 !important; }
.opportunity-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: start; }.opportunity-priority { display: inline-block; margin-bottom: .38rem; padding: .16rem .32rem; border: 1px solid color-mix(in oklch, var(--amber) 42%, var(--line)); color: var(--amber); font-size: var(--fs-micro); font-weight: 800; }
.billing-card { max-width: none; margin-top: 1.2rem; }.auth-gate, .project-dialog { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: 1rem; overflow-y: auto; background: color-mix(in srgb, var(--ink) 68%, transparent); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); }.auth-card, .project-dialog-card { width: min(100%, 31rem); max-height: calc(100dvh - 2rem); overflow-y: auto; padding: clamp(1.4rem, 4vw, 2.4rem); border: 1px solid color-mix(in oklch, var(--line) 130%, white); background: linear-gradient(180deg, color-mix(in oklch, var(--surface) 122%, white) 0%, var(--surface) 100%); box-shadow: var(--sheen-strong), var(--depth-overlay); animation: materialize .4s var(--ease-spring) both; }.auth-logo { width: min(13rem, 74%); height: auto; margin-bottom: 1.4rem; }.auth-card h1 { margin: .35rem 0 .65rem; color: var(--text); font-size: clamp(1.7rem, 5vw, 2.45rem); letter-spacing: -.06em; }.auth-card > p:not(.citation-kicker) { color: var(--muted); line-height: 1.65; }.auth-tabs { display: flex; gap: 1.1rem; margin: 1.5rem 0 1rem; border-bottom: 1px solid var(--line); }.auth-tabs button { padding: .5rem 0; border: 0; border-bottom: 2px solid transparent; color: var(--muted); background: none; cursor: pointer; }.auth-tabs button.active { color: var(--text); border-bottom-color: var(--blue); }.auth-card form { display: grid; gap: .85rem; }.auth-card form label, .project-dialog-card form label { display: grid; gap: .38rem; color: var(--muted); font-size: var(--fs-sm); }.auth-card input, .project-dialog-card input { min-height: 2.55rem; padding: .55rem .65rem; border: 1px solid var(--line); color: var(--text); background: var(--ink); }.auth-card .button { margin-top: .35rem; justify-content: center; }.project-dialog-card { position: relative; width: min(100%, 38rem); }.dialog-close { position: absolute; top: .8rem; right: .9rem; border: 0; color: var(--muted); background: none; font-size: var(--fs-xl); cursor: pointer; }.project-list { display: grid; max-height: min(45dvh, 24rem); overflow-y: auto; margin: 1rem 0; border-top: 1px solid var(--line); }.project-choice { display: flex; align-items: center; justify-content: space-between; gap: .8rem; width: 100%; padding: .85rem 0; border: 0; border-bottom: 1px solid var(--line); color: var(--text); background: none; text-align: left; cursor: pointer; }.project-choice small { color: var(--muted); }.project-choice.active strong { color: var(--blue); }.project-dialog-card form { display: flex; align-items: end; flex-wrap: wrap; gap: .7rem; }.project-dialog-card form label { flex: 1 1 15rem; }
.billing-plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1.25rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.billing-plan { min-height: 19rem; display: flex; flex-direction: column; align-items: flex-start; padding: 1rem; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--text); text-align: left; background: var(--surface); cursor: pointer; transition: background .16s var(--ease-out), box-shadow .16s var(--ease-out); }
.billing-plan:hover, .billing-plan:focus-visible, .billing-plan.selected { background: color-mix(in oklch, var(--blue) 6%, var(--surface)); box-shadow: inset 0 2px 0 var(--blue); }
.billing-plan.current { box-shadow: inset 0 2px 0 var(--amber); }
.billing-plan-name, .billing-plan-action { color: var(--blue); font-size: var(--fs-micro); font-weight: 750; letter-spacing: .04em; }
.billing-plan > strong { display: flex; align-items: baseline; gap: .15rem; margin: 1.15rem 0 .45rem; font-size: 1.75rem; letter-spacing: -.06em; }.billing-plan > strong small { color: var(--muted); font-size: var(--fs-micro); letter-spacing: 0; }
.billing-plan > p { min-height: 2.3rem; margin: 0; font-size: var(--fs-sm); font-weight: 700; line-height: 1.4; }.billing-plan > em { min-height: 3.5rem; margin-top: .5rem; color: var(--muted); font-size: var(--fs-micro); font-style: normal; line-height: 1.5; }
.billing-plan ul { display: grid; gap: .35rem; margin: .8rem 0; padding: 0; list-style: none; }.billing-plan li { color: var(--muted); font-size: var(--fs-micro); line-height: 1.4; }.billing-plan li::before { content: "·"; margin-right: .3rem; color: var(--blue); }.billing-plan-action { margin-top: auto; color: var(--muted-dark); }
.service-quote { display: grid; gap: .45rem; margin-top: .8rem; padding: .8rem; border-left: 3px solid var(--blue); background: color-mix(in oklch, var(--blue) 6%, var(--surface)); }.service-quote .button { width: fit-content; margin-top: .25rem; text-decoration: none; }
.auth-pricing-link { display: inline-block; margin-top: 1rem; color: var(--blue); font-size: var(--fs-sm); }
@media (max-width: 1050px) { .billing-plan-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) { .geo-metric-grid { grid-template-columns: 1fr 1fr; }.geo-metric-grid article:nth-child(2) { border-right: 0; }.geo-metric-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); } }
@media (max-width: 900px) { .strategy-roadmap { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .prompt-landscape > div { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .geo-metric-grid, .geo-two-column, .billing-plan-grid { grid-template-columns: 1fr; }.geo-metric-grid article, .billing-plan { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }.geo-metric-grid article:last-child, .billing-plan:last-child { border-bottom: 0; }.schedule-form { align-items: flex-start; flex-direction: column; }.geo-two-column { gap: 1rem; } }
@media (max-width: 760px) { .strategy-roadmap { grid-template-columns: 1fr; }.strategy-roadmap article { border-right: 0; } }
@media (max-width: 760px) { .prompt-landscape > div { grid-template-columns: 1fr; }.prompt-landscape article { border-right: 0; } }
@media (max-width: 760px) { .workspace-view { padding: 2.1rem 0 3rem; }.workspace-view h1, .placeholder-view h1 { max-width: 100%; font-size: clamp(1.85rem, 9vw, 2.45rem); line-height: 1.03; text-wrap: balance; overflow-wrap: anywhere; }.nav-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem; overflow: visible; padding-bottom: .45rem; }.nav-item { justify-content: center; min-height: 2.55rem; padding: .38rem .28rem; font-size: var(--fs-micro); line-height: 1.18; text-align: center; white-space: normal; }.next-action-card, .baseline-bar { align-items: flex-start; flex-direction: column; gap: .8rem; }.next-action-card .button { width: 100%; }.baseline-status { align-self: flex-start; }.opportunity-item { grid-template-columns: 1fr; }.opportunity-item .text-button { width: 100%; }.top-actions .button { min-width: 0; font-size: var(--fs-micro); } }

/* Website-first intake: scores are readiness signals, never a made-up ranking. */
.start-paths { max-width: 66rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.start-path { min-height: 13.2rem; display: flex; flex-direction: column; align-items: flex-start; padding: 1.25rem; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--text); text-align: left; background: var(--surface); cursor: pointer; transition: background .16s var(--ease-out), color .16s var(--ease-out); }
.start-path:hover, .start-path:focus-visible { color: var(--blue); background: color-mix(in oklch, var(--blue) 6%, var(--surface)); }
.start-path span { color: var(--blue); font: 650 .66rem/1 "SFMono-Regular", Consolas, monospace; letter-spacing: .05em; }
.start-path strong { margin-top: 1.75rem; font-size: var(--fs-md); line-height: 1.3; }
.start-path p { margin: .55rem 0 0; color: var(--muted); font-size: var(--fs-sm); line-height: 1.55; }
.start-path small { margin-top: auto; padding-top: 1rem; color: var(--muted-dark); font-size: var(--fs-micro); }
.start-note { max-width: 66rem; display: grid; gap: .3rem; margin-top: 1.35rem; padding: .95rem 1rem; border-top: 1px solid var(--line); background: color-mix(in oklch, var(--blue) 4%, var(--surface)); }
.start-note strong { font-size: var(--fs-base); }.start-note span { color: var(--muted); font-size: var(--fs-sm); line-height: 1.5; }
.service-delivery-wrap { max-width: 66rem; margin-top: 1.35rem; }
.service-delivery-card { max-width: none; }
.service-objective { margin: -.2rem 0 1rem; color: var(--muted); font-size: var(--fs-sm); line-height: 1.55; }
.service-phase-list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); list-style: none; }
.service-phase-list li { min-width: 0; padding: .8rem .65rem .75rem; border-right: 1px solid var(--line); }
.service-phase-list li:last-child { border-right: 0; }
.service-phase-list span { display: block; color: var(--muted-dark); font-size: var(--fs-micro); font-variant-numeric: tabular-nums; }
.service-phase-list b { display: block; margin-top: .45rem; color: var(--text); font-size: var(--fs-base); line-height: 1.35; }
.service-phase-list small { display: block; margin-top: .35rem; color: var(--muted); font-size: var(--fs-micro); line-height: 1.45; }
.service-phase-list li[data-status="done"] span { color: var(--green); }
.service-phase-list li[data-status="active"] { background: color-mix(in oklch, var(--amber) 8%, var(--surface)); box-shadow: inset 0 2px 0 var(--amber); }
.service-phase-list li[data-status="active"] span { color: var(--amber); font-weight: 750; }
.service-phase-list li[data-status="pending"] b { color: var(--muted); }
.service-result-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: .95rem 0 0; }
.service-result-strip div { padding-right: .8rem; }
.service-result-strip dt { color: var(--muted-dark); font-size: var(--fs-micro); }
.service-result-strip dd { margin: .25rem 0 0; color: var(--text); font-size: var(--fs-base); font-weight: 750; font-variant-numeric: tabular-nums; }
.delivery-ops-view { max-width: 76rem; }
.ops-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin: 1.4rem 0 1.1rem; border-block: 1px solid var(--line); }
.ops-summary div { padding: .85rem 1rem; border-left: 1px solid var(--line); }
.ops-summary div:first-child { border-left: 0; }
.ops-summary dt { color: var(--muted); font-size: var(--fs-micro); letter-spacing: .05em; }
.ops-summary dd { margin: .25rem 0 0; color: var(--text); font-size: var(--fs-lg); font-weight: 720; }
.ops-grid { align-items: start; }
.ops-span-two { grid-column: 1 / -1; }
.ops-table-wrap { overflow-x: auto; margin-top: .55rem; }
.ops-table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.ops-table th { padding: .65rem .55rem; border-bottom: 1px solid var(--text); color: var(--muted-dark); font-size: var(--fs-micro); font-weight: 650; text-align: left; white-space: nowrap; }
.ops-table td { min-width: 8rem; padding: .8rem .55rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.ops-table td:first-child { min-width: 10rem; }
.ops-table td:last-child { min-width: 13rem; }
.ops-table strong, .ops-table small { display: block; }
.ops-table small { margin-top: .22rem; color: var(--muted); line-height: 1.45; }
.ops-stage { display: inline-block; padding: .16rem .38rem; color: var(--blue); background: color-mix(in oklch, var(--blue) 8%, var(--surface)); font-size: var(--fs-micro); font-weight: 700; }
.ops-stage.overdue { color: var(--red); background: color-mix(in oklch, var(--red) 8%, var(--surface)); }
.ops-internal-note { color: var(--muted-dark); font-size: var(--fs-micro); }
@media (max-width: 900px) { .service-phase-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }.service-phase-list li:nth-child(3) { border-right: 0; }.service-phase-list li:nth-child(-n+3) { border-bottom: 1px solid var(--line); } }
@media (max-width: 760px) { .service-phase-list { grid-template-columns: 1fr; }.service-phase-list li, .service-phase-list li:nth-child(3) { border-right: 0; border-bottom: 1px solid var(--line); }.service-phase-list li:last-child { border-bottom: 0; }.service-result-strip { grid-template-columns: 1fr 1fr; gap: .8rem; }.ops-summary { grid-template-columns: 1fr 1fr; }.ops-summary div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }.ops-summary div:nth-child(4) { border-top: 1px solid var(--line); }.ops-span-two { grid-column: auto; }.ops-table { min-width: 54rem; } }
.website-audit-form { max-width: 66rem; }
.site-audit-result { max-width: 66rem; margin-top: 1.6rem; border-top: 2px solid var(--text); }
.site-audit-result > .empty-state { padding: 1.1rem 0; }
.site-audit-head { display: flex; align-items: end; justify-content: space-between; gap: 1.25rem; padding: 1.15rem 0; border-bottom: 1px solid var(--line); }
.site-audit-head h2 { margin: .2rem 0 .35rem; font-size: var(--fs-xl); }
.site-audit-head p:not(.section-marker) { margin: 0; overflow-wrap: anywhere; color: var(--muted); font-size: var(--fs-sm); }
.site-audit-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; }
.audit-score-grid, .audit-detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
.audit-score-grid article { min-height: 9.4rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1.1rem 1.2rem; border-right: 1px solid var(--line); }
.audit-score-grid article:last-child { border-right: 0; }
.audit-score-grid span, .audit-score-grid small { color: var(--muted); font-size: var(--fs-micro); line-height: 1.45; }
.audit-score-grid strong { font-size: 2.7rem; line-height: 1; letter-spacing: -.07em; font-variant-numeric: tabular-nums; }
.audit-detail-grid { grid-template-columns: 1fr 1fr; }
.audit-detail-grid > article { padding: 1.25rem 1.2rem; border-right: 1px solid var(--line); }
.audit-detail-grid > article:last-child { border-right: 0; }
.audit-detail-grid h3 { margin: 0 0 .75rem; font-size: var(--fs-md); }
.audit-check-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.audit-check-list li { display: grid; gap: .2rem; padding: .68rem 0; border-top: 1px solid color-mix(in oklch, var(--line) 70%, transparent); }
.audit-check-list b { font-size: var(--fs-sm); }
.audit-check-list span { color: var(--muted); font-size: var(--fs-micro); line-height: 1.45; }
.audit-check-list .pass b { color: var(--green); }
.audit-check-list .needs-work b { color: var(--amber); }
.audit-actions { padding: 1.25rem 0 0; }
.audit-actions .section-heading { margin-bottom: .6rem; }
.audit-action { display: grid; gap: .35rem; padding: .9rem 0; border-top: 1px solid var(--line); }
.audit-action strong { font-size: var(--fs-base); }
.audit-action p { margin: 0; color: var(--muted); font-size: var(--fs-sm); line-height: 1.55; }
.website-principles { max-width: 66rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 3rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.website-principles article { min-height: 12rem; padding: 1.15rem 1.25rem; border-right: 1px solid var(--line); }
.website-principles article:last-child { border-right: 0; }
.website-principles span { color: var(--blue); font: 650 .68rem/1 "SFMono-Regular", Consolas, monospace; }
.website-principles h2 { margin: 1.8rem 0 .6rem; font-size: var(--fs-md); }
.website-principles p { margin: 0; color: var(--muted); font-size: var(--fs-sm); line-height: 1.6; }
@media (max-width: 1050px) { .audit-score-grid { grid-template-columns: 1fr; }.audit-score-grid article { min-height: auto; gap: .65rem; border-right: 0; border-bottom: 1px solid var(--line); }.audit-score-grid article:last-child { border-bottom: 0; }.website-principles { grid-template-columns: 1fr; }.website-principles article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }.website-principles article:last-child { border-bottom: 0; } }
@media (max-width: 760px) { .start-paths { grid-template-columns: 1fr; }.site-audit-head { align-items: stretch; flex-direction: column; }.site-audit-actions { display: grid; grid-template-columns: 1fr; }.site-audit-head .button { width: 100%; }.audit-detail-grid { grid-template-columns: 1fr; }.audit-detail-grid > article { border-right: 0; border-bottom: 1px solid var(--line); }.audit-detail-grid > article:last-child { border-bottom: 0; } }

.run-item .model-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .6rem; }
.model-chip { padding: .16rem .5rem; border: 1px solid var(--line); color: var(--muted-dark); font-size: var(--fs-micro); font-variant-numeric: tabular-nums; }
.model-chip.silent { border-color: color-mix(in oklch, var(--red) 55%, var(--line)); color: var(--red); }
.run-diagnosis { margin: .6rem 0 0; color: var(--muted); font-size: var(--fs-micro); line-height: 1.6; }
.run-diagnosis b { display: block; color: var(--text); font-size: var(--fs-micro); }
.model-rate { color: var(--text); font-size: var(--fs-lg); font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.opportunity-score { color: var(--blue); font-size: var(--fs-lg); font-variant-numeric: tabular-nums; letter-spacing: -.05em; }
.citation-links { display: grid; gap: .4rem; margin-top: .65rem; }
.citation-link { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding-top: .45rem; border-top: 1px solid color-mix(in oklch, var(--line) 70%, transparent); font-size: var(--fs-micro); }
.citation-link a { overflow: hidden; color: var(--blue); text-overflow: ellipsis; white-space: nowrap; }
.citation-actions { display: flex; gap: .35rem; flex: 0 0 auto; }
.citation-actions button { padding: .14rem .32rem; border: 1px solid var(--line); color: var(--muted-dark); background: transparent; cursor: pointer; font-size: var(--fs-micro); }
.citation-actions button[data-status="verified"] { border-color: color-mix(in oklch, var(--green) 60%, var(--line)); color: var(--green); }
.brief-card { margin-top: 1.5rem; }
.brief-card #opportunityBriefBody { display: grid; gap: 1rem; color: var(--muted); font-size: var(--fs-sm); line-height: 1.6; }
.brief-card h3 { margin: 0 0 .25rem; color: var(--text); font-size: var(--fs-sm); }
.brief-card ul { margin: 0; padding-left: 1.1rem; }

/* ── 材质与动效收尾 ───────────────────────────────────────────
   玻璃"物化"而不是淡入：模糊、缩放、透明度一起变，读起来像一层
   真材质到位，而不是一个图层调了不透明度。 */
@keyframes materialize {
  from { opacity: 0; transform: scale(.96); filter: blur(12px); }
  to   { opacity: 1; transform: scale(1);   filter: blur(0); }
}
.toast { box-shadow: var(--sheen-strong), var(--depth-overlay); backdrop-filter: blur(16px) saturate(160%); -webkit-backdrop-filter: blur(16px) saturate(160%); }

/* 透明表面上的文字要提对比、加一点字重和字距，否则灰字会糊进材质里 */
.topbar .breadcrumb, .topbar .last-saved { color: color-mix(in oklch, var(--muted) 82%, var(--text)); letter-spacing: .004em; }

/* 可交互元素按下即反馈，不等松手 */
.nav-item:active, .text-button:active, .start-path:active { transform: scale(.99); transition-duration: .06s; }
.start-path { transition: transform .12s var(--ease-out), background .2s var(--ease-out), border-color .2s var(--ease-out); }

@media (prefers-reduced-transparency: reduce) {
  .topbar { background: var(--ink); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .auth-gate, .project-dialog { background: color-mix(in srgb, var(--ink) 96%, transparent); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .toast { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .sidebar, .control-card, .score-primary, .geo-metric-grid, .auth-card, .project-dialog-card { background: var(--surface); }
}
@media (prefers-contrast: more) {
  .control-card, .score-primary, .metric-panel, .diagnostic-panel, .evidence-panel, .content-stage, .geo-metric-grid, .auth-card, .project-dialog-card {
    background: var(--ink-2); border-color: var(--text); box-shadow: none;
  }
  .topbar { background: var(--ink); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  .auth-card, .project-dialog-card { animation: none; }
  .button:active:not(:disabled), .nav-item:active, .text-button:active, .start-path:active { transform: none; }
}

/* ── 材质层（浅色皮肤实际生效的一层）───────────────────────── */
.sidebar { background: linear-gradient(180deg, oklch(100% 0 0) 0%, var(--ink-2) 46%); box-shadow: inset -1px 0 0 oklch(100% 0 0 / .7); }
/* .main-area > * 把 position 重置成 relative 了，吸顶要在它之后重新声明 */
.topbar { position: sticky; top: 0; z-index: 30; border-bottom-color: transparent; background: color-mix(in oklch, var(--ink) 68%, transparent); backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); }
.topbar.scrolled { border-bottom-color: var(--line); box-shadow: 0 1px 16px oklch(20% .02 235 / .06); }
.geo-metric-grid { background: linear-gradient(180deg, oklch(100% 0 0) 0%, var(--surface) 100%); box-shadow: var(--sheen), var(--depth-1); }
.geo-metric-grid article, .score-primary, .metric-panel { box-shadow: none; }
.button.primary { box-shadow: var(--depth-1); }
.button.secondary { background: linear-gradient(180deg, oklch(100% 0 0) 0%, var(--surface) 100%); box-shadow: var(--sheen), 0 1px 2px oklch(20% .02 235 / .05); }
.auth-card, .project-dialog-card { background: linear-gradient(180deg, oklch(100% 0 0) 0%, var(--surface) 100%); box-shadow: var(--sheen-strong), var(--depth-overlay); }
.auth-gate, .project-dialog { background: color-mix(in oklch, var(--text) 26%, transparent); }
.auth-entry-choice { display: grid; gap: .75rem; margin-top: 1.5rem; }
.auth-entry-choice[hidden] { display: none; }
.auth-entry-choice .button { justify-content: center; }
.geo-item { transition: background .15s var(--ease-out); }
.geo-item:hover { background: color-mix(in oklch, var(--ink) 55%, transparent); }
.billing-cycle { display: flex; gap: 1.1rem; margin-top: 1rem; color: var(--muted); font-size: var(--fs-sm); }
.billing-cycle label { display: flex; align-items: center; gap: .4rem; cursor: pointer; }
.platform-pricing-list { display: grid; gap: .75rem; margin-top: 1rem; }
.platform-pricing-form { display: grid; grid-template-columns: minmax(8rem, 1fr) minmax(7rem, .55fr) minmax(7rem, .55fr) auto; align-items: end; gap: .7rem; padding: .9rem 0; border-top: 1px solid var(--line); }
.platform-pricing-form:first-child { border-top: 0; }
.platform-pricing-form strong { display: block; color: var(--text); font-size: var(--fs-base); }.platform-pricing-form small { display: block; margin-top: .2rem; color: var(--muted); font-size: var(--fs-micro); line-height: 1.45; }
.platform-pricing-form label { display: grid; gap: .35rem; color: var(--muted); font-size: var(--fs-micro); }.platform-pricing-form input { min-width: 0; }
@media (max-width: 760px) { .platform-pricing-form { grid-template-columns: 1fr 1fr; }.platform-pricing-form > div { grid-column: 1 / -1; }.platform-pricing-form .button { width: 100%; } }
.panel-warning { margin: .9rem 0 0; padding: .8rem 1rem; border-left: 2px solid var(--amber); background: color-mix(in oklch, var(--amber) 8%, transparent); color: var(--text); font-size: var(--fs-sm); line-height: 1.65; }

/* UX final pass: clearer focus, safer touch targets, and a calmer mobile layout. */
a:hover { text-decoration: underline; text-underline-offset: .18em; }
a:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [role="button"]:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}
.button.secondary:hover:not(:disabled) { background: var(--surface-2); }
.form-inline { flex-wrap: wrap; }
.form-inline > input, .form-inline > select { min-width: 0; }
[aria-busy="true"] { cursor: progress; }

@media (max-width: 760px) {
  .nav-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .nav-advanced { grid-column: 1 / -1; width: 100%; margin-top: .1rem; }
  .nav-advanced-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-advanced .nav-item { min-height: 2.35rem; padding: .35rem .25rem; font-size: var(--fs-micro); }
  .top-actions .button.primary { flex: 1.15; }
  .top-actions .button.secondary { flex: 1; }
  .control-card { padding: 1rem; }
  .form-actions { align-items: stretch; }
  .form-actions .button { max-width: 100%; }
  .content-stage-header .tab-group { width: 100%; }
  .tab-group button { flex: 1; min-width: 0; padding-inline: .45rem; }
  .citation-link { align-items: flex-start; flex-direction: column; }
  .citation-actions { width: 100%; }
  .citation-actions button { min-height: 2.25rem; flex: 1; }
  .text-button { min-height: 2.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* 未解锁的流程阶段：不可点，且不响应 hover 高亮。 */
.nav-item:disabled { opacity: .4; cursor: not-allowed; }
.nav-item:disabled:hover { color: var(--muted); background: transparent; border-color: transparent; }

/* 折叠区：默认收起，展开后才占版面。 */
.more-analysis, .inline-form { margin-top: 1.2rem; }
.more-analysis > summary, .inline-form > summary { padding: .7rem .9rem; border: 1px solid var(--line); background: var(--surface); color: var(--muted); cursor: pointer; font-size: var(--fs-base); font-weight: 650; list-style: none; }
.more-analysis > summary::-webkit-details-marker, .inline-form > summary::-webkit-details-marker { display: none; }
.more-analysis > summary::after, .inline-form > summary::after { content: " +"; }
.more-analysis[open] > summary::after, .inline-form[open] > summary::after { content: " −"; }
.more-analysis > summary:hover, .inline-form > summary:hover { color: var(--text); }
.inline-form { margin-top: .8rem; }

/* 品牌与问题：先完成能开始评测的两步，其他资料在需要时再展开。 */
.brand-card > label, .entity-profile-card > label { max-width: 34rem; }
.setup-domain > label { display: grid; gap: .45rem; margin-top: .9rem; color: var(--muted); font-size: var(--fs-sm); font-weight: 700; letter-spacing: .03em; }
.entity-context { margin-top: 1rem; }
.entity-context > .form-grid { margin-top: .8rem; padding: .95rem; border: 1px solid var(--line); background: color-mix(in oklch, var(--ink) 34%, var(--surface)); }
.setup-advanced { margin-top: 1.2rem; }
.setup-advanced[open] { padding-bottom: .1rem; border-bottom: 1px solid var(--line); }
.setup-advanced > .control-card, .setup-advanced > .geo-two-column { margin-top: 1rem; }

/* 双栏容器里只有一张卡时占满整行。 */
.geo-two-column > :only-child { grid-column: 1 / -1; }

/* 平台模型接入要求：写在表单上方，不用去翻文档。 */
.requirement-list { margin: .9rem 0 0; padding-left: 1.1rem; color: var(--muted); font-size: var(--fs-sm); line-height: 1.75; }
.requirement-list b { color: var(--text); font-weight: 650; }
.hint-code { overflow-x: auto; margin: .6rem 0; padding: .7rem .8rem; border: 1px solid var(--line); color: var(--text); background: var(--ink); font-size: var(--fs-sm); }

/* 首屏建品牌：品牌名必填，官网可选。 */
.start-brand-form { display: grid; gap: .8rem; margin-top: 1.1rem; }
.start-brand-form label { display: grid; gap: .35rem; color: var(--muted); font-size: var(--fs-sm); }
.start-brand-form input { min-height: 2.5rem; padding: 0 .7rem; border: 1px solid var(--line); color: var(--text); background: var(--ink); font-size: var(--fs-base); }
.start-brand-form .form-actions { margin-top: .2rem; }

/* 模型原话：结论要能被用户自己核对。 */
.answer-sample { padding: .9rem 0; border-top: 1px solid var(--line); }
.answer-sample:first-child { border-top: 0; }
.answer-sample header { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; color: var(--muted); font-size: var(--fs-sm); }
.answer-sample header strong { color: var(--text); font-size: var(--fs-base); }
.answer-sample p { margin: .5rem 0 0; color: var(--text); font-size: var(--fs-base); line-height: 1.75; white-space: pre-wrap; }
.answer-sample mark { padding: 0 .15em; color: var(--text); background: color-mix(in oklch, var(--amber) 32%, transparent); }
.answer-hit { color: var(--green); font-weight: 650; }
.answer-miss { color: var(--muted-dark); font-weight: 650; }

/* 长 URL（重置链接）不能把卡片撑破。 */
.form-help { overflow-wrap: anywhere; }

/* 触屏上把可点区域补到 44px；鼠标下保持紧凑的报告密度。 */
@media (pointer: coarse), (max-width: 760px) {
  .button, .nav-item, .tab-group button, .dimension-row { min-height: 2.75rem; }
  .text-button { min-height: 2.75rem; padding-block: .5rem; }
  .profile-button, .password-toggle, .dialog-close, .library-check { min-width: 2.75rem; min-height: 2.75rem; }
  .more-analysis > summary, .inline-form > summary { min-height: 2.75rem; display: flex; align-items: center; }
  input, select, textarea { min-height: 2.75rem; }
}

/* 焦点卡右栏是「你会得到」，用发丝线把分栏说清楚，而不是靠底色差。 */

/* 折叠区标题按下有反馈，缓动与全局一致。 */
.more-analysis > summary, .inline-form > summary { transition: color .18s var(--ease-out), background .18s var(--ease-out), border-color .18s var(--ease-out); }
.more-analysis > summary:active, .inline-form > summary:active { transform: scale(.995); }

/* 结果交付工作台：减少材质效果，把注意力留给下一行动与可核对结果。 */
.sidebar { background: var(--ink-2); box-shadow: none; }
.main-area { background-image: none; }
.topbar { background: color-mix(in srgb, var(--ink) 96%, white); backdrop-filter: none; -webkit-backdrop-filter: none; }
.topbar.scrolled { box-shadow: none; }

.button.primary, .button.secondary { box-shadow: none; }
.button.secondary { background: var(--surface); }
.geo-metric-grid { background: var(--surface); box-shadow: none; }
.toast { backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; }
.auth-gate, .project-dialog { background: color-mix(in srgb, var(--text) 28%, transparent); backdrop-filter: none; -webkit-backdrop-filter: none; }
.auth-username-hint { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; }

.intake-grid { grid-template-columns: 1fr; max-width: 66rem; gap: .7rem; }
.intake-option { border: 1px solid var(--line); background: var(--surface); }
.intake-option > summary { display: grid; grid-template-columns: 4rem minmax(0, 1fr) auto; gap: 1rem; align-items: center; min-height: 4rem; padding: .85rem 1rem; cursor: pointer; list-style: none; }
.intake-option > summary::-webkit-details-marker { display: none; }
.intake-option > summary span { color: var(--blue); font-size: var(--fs-micro); font-weight: 700; }
.intake-option > summary strong { font-size: var(--fs-base); }
.intake-option > summary small { color: var(--muted); font-size: var(--fs-sm); }
.intake-option > summary::after { content: "+"; color: var(--muted); font-size: var(--fs-lg); }
.intake-option[open] > summary::after { content: "−"; }
.intake-option > .control-card { max-width: none; margin: 0; border: 0; border-top: 1px solid var(--line); }

.empty-state-card { max-width: 42rem; padding: 1.35rem; border: 1px solid var(--line); background: var(--surface); }
.empty-state-card strong { display: block; font-size: var(--fs-lg); }
.empty-state-card p { margin: .55rem 0 1rem; color: var(--muted); line-height: 1.6; }
.setup-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 60rem; margin-bottom: .8rem; padding: .85rem 1rem; border: 1px solid var(--line); background: var(--surface); }
.setup-summary div { display: grid; gap: .2rem; }
.setup-summary span { color: var(--muted); font-size: var(--fs-micro); }
.setup-summary strong { font-size: var(--fs-base); }

.report-outcome-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 66rem; margin: 0 0 1.2rem; border: 1px solid var(--line); }
.report-outcome-summary div { min-width: 0; padding: 1rem 1.1rem; border-right: 1px solid var(--line); }
.report-outcome-summary div:last-child { border-right: 0; }
.report-outcome-summary dt { color: var(--muted); font-size: var(--fs-micro); }
.report-outcome-summary dd { margin: .35rem 0 0; color: var(--text); font-size: var(--fs-lg); font-weight: 700; }

.settings-tabs { display: flex; flex-wrap: wrap; gap: 0; max-width: 66rem; margin: 0 0 1.2rem; border-bottom: 1px solid var(--line); }
.settings-tabs button { min-height: 2.7rem; padding: 0 1rem; border: 0; border-bottom: 2px solid transparent; color: var(--muted); background: transparent; cursor: pointer; }
.settings-tabs button.active { color: var(--text); border-bottom-color: var(--text); font-weight: 700; }
.settings-panel-off { display: none !important; }
.form-inline > label { display: grid; flex: 1; gap: .35rem; min-width: 0; color: var(--muted); font-size: var(--fs-micro); }
.form-inline > label > span { font-weight: 700; }
.service-request-form { display: grid; gap: .85rem; margin-top: 1.1rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.service-request-form h3 { margin: .25rem 0 0; font-size: var(--fs-lg); }
.service-request-form textarea { min-height: 6.4rem; }

@media (max-width: 760px) {
  .topbar { position: static; min-height: 0; margin: 0; padding: .75rem 0; }
  .topbar:not(:has(.top-actions .button:not([hidden]))) { display: none; }
  .breadcrumb { display: none; }
  .top-actions { gap: .45rem; }
  .workspace-view { padding-top: 1.45rem; }
  .workspace-view h1, .placeholder-view h1 { font-size: clamp(1.8rem, 8.4vw, 2.2rem); line-height: 1.02; }
  .intake-option > summary { grid-template-columns: 3.3rem minmax(0, 1fr) auto; gap: .65rem; }
  .intake-option > summary small { display: none; }
  .report-outcome-summary { grid-template-columns: 1fr; }
  .report-outcome-summary div { border-right: 0; border-bottom: 1px solid var(--line); }
  .report-outcome-summary div:last-child { border-bottom: 0; }
  .settings-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .settings-tabs button { padding-inline: .35rem; }
  .service-phase-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sidebar-footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .8rem; padding: .75rem 0 0; }
  .sidebar-footer .signal-mini { min-width: 0; font-size: var(--fs-micro); }
  .profile-button { flex: 0 0 auto; min-height: 2.75rem; padding: 0 .65rem; border: 1px solid var(--line); }
  .profile-button span { display: none; }
}

/* ---- 效果对比层：趋势图、两轮对比、显著性与行动归因 ---- */
.report-chart svg { display: block; width: 100%; height: auto; }
.report-chart .chart-grid { stroke: color-mix(in oklch, var(--line) 55%, transparent); stroke-width: 1; }
.report-chart .chart-axis-label { fill: var(--muted-dark); font-size: 10px; font-variant-numeric: tabular-nums; }
.report-chart .chart-area { fill: color-mix(in oklch, var(--blue) 14%, transparent); }
.report-chart .chart-line { fill: none; stroke: var(--blue-light); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.report-chart .chart-dot { fill: var(--surface-2); stroke: var(--blue-light); stroke-width: 2; cursor: help; }
.report-chart .chart-dot.insufficient { stroke-dasharray: 2.5 2.5; }
.verdict { display: inline-block; padding: .16rem .42rem; border: 1px solid var(--line); color: var(--muted); font-size: var(--fs-micro); font-weight: 750; white-space: nowrap; }
.verdict.up { color: var(--green); border-color: color-mix(in oklch, var(--green) 50%, var(--line)); }
.verdict.down { color: var(--red); border-color: color-mix(in oklch, var(--red) 50%, var(--line)); }
.verdict.insufficient { color: var(--muted-dark); border-style: dashed; }
.compare-overall { display: flex; align-items: baseline; flex-wrap: wrap; gap: .65rem; padding: .75rem 0; border-bottom: 1px solid var(--line); }
.compare-overall strong { font-size: var(--fs-lg); letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.compare-overall small { flex-basis: 100%; color: var(--muted-dark); font-size: var(--fs-micro); line-height: 1.5; }
.compare-form { margin-top: .25rem; }
.compare-form label { display: grid; gap: .35rem; flex: 1; color: var(--muted); font-size: var(--fs-sm); font-weight: 700; }
.compare-form select { min-height: 2.3rem; border: 1px solid var(--line); border-radius: .16rem; padding: .45rem .55rem; color: var(--text); background: var(--ink-2); }
.impact-line { margin-top: .4rem; padding: .34rem .5rem; border-left: 2px solid var(--blue); color: var(--muted); background: color-mix(in oklch, var(--blue) 6%, transparent); font-size: var(--fs-micro); line-height: 1.5; }
.suggest-metrics { display: block; margin-top: .3rem; color: var(--muted-dark); font-size: var(--fs-micro); font-variant-numeric: tabular-nums; }

/* ---- 评测通知 ---- */
.notify-wrap { position: relative; }
.notify-toggle { position: relative; min-height: 2.65rem; padding: 0 .7rem; border: 1px solid var(--line); color: var(--muted); }
.notify-toggle:hover:not([hidden]) { color: var(--text); }
.notify-badge { display: inline-block; min-width: 1.15rem; margin-left: .4rem; padding: .04rem .3rem; border-radius: 1rem; background: var(--amber); color: oklch(18% .03 70); font-size: var(--fs-micro); font-weight: 800; text-align: center; }
.notify-panel { position: absolute; right: 0; top: calc(100% + .55rem); z-index: 40; width: min(24rem, calc(100vw - 2rem)); padding: .9rem 1rem; border: 1px solid var(--line); background: var(--surface-2); box-shadow: var(--sheen-strong), var(--depth-2); }
.notify-panel-header { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding-bottom: .4rem; border-bottom: 1px solid var(--line); }
.notify-panel-header strong { font-size: var(--fs-sm); }
.notify-item { display: grid; gap: .3rem; width: 100%; padding: .7rem 0; border: 0; border-bottom: 1px solid var(--line); color: inherit; background: none; text-align: left; cursor: pointer; }
.notify-item:last-child { border-bottom: 0; }
.notify-item strong { color: var(--text); font-size: var(--fs-sm); line-height: 1.45; }
.notify-item.unread strong::before { content: ""; display: inline-block; width: .42rem; height: .42rem; margin-right: .42rem; border-radius: 50%; background: var(--amber); vertical-align: .12em; }
.notify-item p { margin: 0; color: var(--muted); font-size: var(--fs-micro); line-height: 1.55; }
.notify-item small { color: var(--muted-dark); font-size: var(--fs-micro); }
.notify-type-label { padding: .12rem .3rem; border: 1px solid var(--line); color: var(--muted); font-size: var(--fs-micro); }
.notify-item[data-type="visibility_drop"] .notify-type-label, .notify-item[data-type="run_failed"] .notify-type-label { color: var(--red); border-color: color-mix(in oklch, var(--red) 50%, var(--line)); }
.notify-item[data-type="run_completed"] .notify-type-label { color: var(--green); border-color: color-mix(in oklch, var(--green) 50%, var(--line)); }
@media (max-width: 760px) {
  .notify-panel { position: fixed; left: 1rem; right: 1rem; top: 4.8rem; width: auto; }
  .compare-form { flex-direction: column; align-items: stretch; }
}

/* ---- 语言维度与问题库管理 ---- */
.language-field { display: grid; gap: .45rem; color: var(--muted); font-size: var(--fs-sm); font-weight: 700; letter-spacing: .03em; }
.language-checks { display: flex; gap: 1rem; }
.language-checks .profile-check { font-weight: 500; letter-spacing: 0; }
.library-controls { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: .6rem; margin-top: .9rem; }
.library-controls input, .library-controls select { min-height: 2.4rem; border: 1px solid var(--line); border-radius: .16rem; padding: .45rem .6rem; color: var(--text); background: var(--ink-2); }
.library-item { grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; }
.library-check { display: grid; place-items: center; width: 1.1rem; cursor: pointer; }
.library-check input { position: absolute; opacity: 0; }
.library-check .fact-check { width: 1rem; height: 1rem; border: 1px solid var(--muted-dark); }
.library-check input:checked + .fact-check { border-color: var(--amber); background: var(--amber); box-shadow: inset 0 0 0 3px var(--surface); }
.library-actions { white-space: nowrap; }

/* ---- 免登录分享报告页 ---- */
.share-gate { position: fixed; z-index: 25; inset: 0; overflow-y: auto; padding: clamp(1rem, 4vw, 3rem) 1rem; background: var(--ink); }
.share-card { width: min(100%, 52rem); margin-inline: auto; padding: clamp(1.4rem, 4vw, 2.6rem); border: 1px solid var(--line); background: linear-gradient(180deg, color-mix(in oklch, var(--surface) 122%, white) 0%, var(--surface) 100%); box-shadow: var(--sheen-strong), var(--depth-overlay); animation: materialize .4s var(--ease-spring) both; }
.share-head h1 { margin: .4rem 0 .5rem; font-size: clamp(1.8rem, 5vw, 2.6rem); letter-spacing: -.05em; }
.share-meta { color: var(--muted); font-size: var(--fs-sm); }
.share-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.6rem 0; }
.share-metrics div { padding: .9rem 1rem; border: 1px solid var(--line); background: color-mix(in oklch, var(--surface) 60%, transparent); }
.share-metrics dt { color: var(--muted); font-size: var(--fs-micro); }
.share-metrics dd { margin: .3rem 0 0; font-size: 1.6rem; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.metric-value-button { border: 0; padding: 0; color: inherit; background: none; font: inherit; font-weight: inherit; letter-spacing: inherit; cursor: pointer; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.metric-value-button:hover { color: var(--blue); }
.share-metrics small { color: var(--muted-dark); font-size: var(--fs-micro); }
.share-section { margin-top: 1.8rem; }
.share-section h2 { margin-bottom: .6rem; font-size: var(--fs-lg); }
.share-notes { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted-dark); font-size: var(--fs-micro); line-height: 1.6; }
.share-url { color: var(--blue); overflow-wrap: anywhere; }
.delivery-manifest { display: grid; gap: .9rem; margin-top: .8rem; }
.manifest-checks, .manifest-acceptance { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; }
.manifest-checks span, .manifest-acceptance span { padding: .25rem .45rem; border: 1px solid var(--line); color: var(--muted); font-size: var(--fs-micro); }
.manifest-checks span[data-ready="true"], .manifest-acceptance span[data-ready="true"] { color: var(--green); border-color: color-mix(in oklch, var(--green) 45%, var(--line)); }
.manifest-tracks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.manifest-tracks article { padding: .65rem; border: 1px solid var(--line); }
.manifest-tracks strong { color: var(--text); font-size: var(--fs-sm); }
.manifest-tracks p { margin: .3rem 0; color: var(--muted); font-size: var(--fs-micro); }
.manifest-tracks small { color: var(--muted-dark); font-size: var(--fs-micro); }
.manifest-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.manifest-counts div { padding-right: .55rem; }
.manifest-counts dt { color: var(--muted-dark); font-size: var(--fs-micro); }
.manifest-counts dd { margin: .2rem 0 0; color: var(--text); font-weight: 750; font-variant-numeric: tabular-nums; }
.share-answer-sample { padding: .75rem 0; border-bottom: 1px solid var(--line); }
.share-answer-sample summary { cursor: pointer; color: var(--text); font-weight: 700; }
.share-answer-sample pre { max-height: 28rem; overflow: auto; margin: .65rem 0 0; padding: .8rem; border: 1px solid var(--line); background: var(--ink-2); color: var(--muted); font: inherit; font-size: var(--fs-sm); line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.question-plan { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.question-plan h3 { margin: .25rem 0 0; font-size: var(--fs-md); }
.candidate-library { margin-top: .8rem; }
.candidate-library summary { cursor: pointer; color: var(--text); font-size: var(--fs-sm); font-weight: 700; }
.candidate-library ol { max-height: 22rem; overflow: auto; margin: .7rem 0 0; padding: .15rem 0 .15rem 1.8rem; border-top: 1px solid var(--line); }
.candidate-library li { padding: .55rem .4rem; color: var(--text); font-size: var(--fs-sm); line-height: 1.55; border-bottom: 1px solid var(--line); }
.candidate-library li span { display: block; margin-bottom: .15rem; color: var(--muted-dark); font-size: var(--fs-micro); }
.evaluation-ledger-card { grid-column: 1 / -1; }
.ledger-controls { display: grid; grid-template-columns: minmax(12rem, 2fr) minmax(9rem, 1fr) minmax(9rem, 1fr); gap: .6rem; margin: .85rem 0; }
.ledger-controls input, .ledger-controls select { min-height: 2.45rem; border: 1px solid var(--line); border-radius: .16rem; padding: .45rem .6rem; color: var(--text); background: var(--ink-2); }
.result-table-wrap { max-height: 34rem; overflow: auto; border: 1px solid var(--line); }
.result-table { width: 100%; min-width: 72rem; border-collapse: collapse; font-size: var(--fs-micro); }
.result-table th, .result-table td { padding: .62rem .7rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.55; }
.result-table th { position: sticky; z-index: 2; top: 0; color: var(--muted); background: var(--surface-2); font-weight: 750; white-space: nowrap; }
.result-table td { color: var(--text); }
.result-table td small, .result-table td a { display: block; margin-top: .2rem; color: var(--muted-dark); overflow-wrap: anywhere; }
.result-table td a:hover { color: var(--blue-light); }
.catalog-item small, .report-split-item small { display: block; margin-top: .25rem; color: var(--muted-dark); font-size: var(--fs-micro); line-height: 1.55; }
.catalog-actions { display: flex; align-items: center; gap: .55rem; white-space: nowrap; }
@media (max-width: 760px) {
  .library-controls { grid-template-columns: 1fr 1fr; }
  .library-item { grid-template-columns: 2.75rem minmax(0, 1fr); }
  .library-actions { grid-column: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; width: 100%; white-space: normal; }
  .library-actions .text-button { width: auto; }
  .ledger-controls { grid-template-columns: 1fr; }
  .share-metrics { grid-template-columns: 1fr; }
  .manifest-tracks { grid-template-columns: 1fr; }
  .manifest-counts { grid-template-columns: 1fr 1fr; gap: .7rem; }
}

/* ---- 体验层：入场节奏、焦点可达性、反馈语义、等待与空状态 ---- */
/* 视图切换的入场动效：只用 transform/opacity，切换视图时播放一次；
   轮询刷新列表 innerHTML 不会重播，避免每次数据更新都闪一下。 */
@keyframes view-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.view.active { animation: view-enter .26s var(--ease-out) both; }
.view.active > * { animation: view-enter .32s var(--ease-out) both; }
.view.active > *:nth-child(2) { animation-delay: .05s; }
.view.active > *:nth-child(3) { animation-delay: .09s; }
.view.active > *:nth-child(4) { animation-delay: .13s; }
.view.active > *:nth-child(n+5) { animation-delay: .16s; }
@media (prefers-reduced-motion: reduce) {
  .view.active, .view.active > *, .skeleton-row, .run-progress-meter i { animation: none !important; transition: none !important; }
}

/* 键盘可达性：鼠标路径有 hover，键盘路径必须有可见焦点环。 */
.control-card input:focus-visible, .control-card select:focus-visible, .control-card textarea:focus-visible,
.auth-card input:focus-visible, .project-dialog-card input:focus-visible,
.compare-form select:focus-visible, .library-controls input:focus-visible, .library-controls select:focus-visible,
.ledger-controls input:focus-visible, .ledger-controls select:focus-visible {
  border-color: var(--amber);
  box-shadow: 0 0 0 2px color-mix(in oklch, var(--amber) 42%, transparent);
}
.button:focus-visible, .text-button:focus-visible, .nav-item:focus-visible, .tab-group button:focus-visible,
.notify-toggle:focus-visible, .notify-item:focus-visible, .profile-button:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 2px;
}

/* 表单反馈语义：错误必须一眼是错的，成功必须一眼是成的。 */
.form-actions > span[data-tone="error"], span[data-tone="error"].form-help, .share-gate [data-tone="error"] { color: var(--red); }
.form-actions > span[data-tone="ok"] { color: var(--green); }

/* 评测进行时进度卡：等待是产品的一部分，值得一张主角卡。 */
.run-progress-card { margin-top: 1.2rem; border-color: color-mix(in oklch, var(--amber) 38%, var(--line)); background: linear-gradient(180deg, color-mix(in oklch, var(--amber) 6%, var(--surface)) 0%, var(--surface) 62%); }
.run-progress-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.run-progress-head h2 { margin: .3rem 0 0; font-size: var(--fs-lg); letter-spacing: -.03em; }
.run-progress-elapsed { flex: 0 0 auto; color: var(--amber); font-size: var(--fs-sm); font-weight: 700; font-variant-numeric: tabular-nums; }
.run-progress-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin: 1.1rem 0 .9rem; padding: 0; list-style: none; }
.run-progress-steps li { display: grid; gap: .2rem; padding: .7rem .8rem; border: 1px solid var(--line); background: color-mix(in oklch, var(--ink) 40%, transparent); }
.run-progress-steps span { color: var(--muted-dark); font-size: var(--fs-micro); font-variant-numeric: tabular-nums; }
.run-progress-steps b { font-size: var(--fs-sm); }
.run-progress-steps small { color: var(--muted); font-size: var(--fs-micro); }
.run-progress-steps li[data-step="questions"] { border-color: color-mix(in oklch, var(--green) 40%, var(--line)); }
.run-progress-steps li[data-step="questions"] span, .run-progress-steps li[data-step="questions"] small { color: var(--green); }
.run-progress-steps[data-stage="asking"] li[data-step="asking"] { border-color: color-mix(in oklch, var(--amber) 52%, var(--line)); background: color-mix(in oklch, var(--amber) 8%, transparent); box-shadow: inset 0 -2px 0 var(--amber); }
.run-progress-steps[data-stage="summary"] li[data-step="asking"] { border-color: color-mix(in oklch, var(--green) 40%, var(--line)); }
.run-progress-steps[data-stage="summary"] li[data-step="summary"] { border-color: color-mix(in oklch, var(--amber) 52%, var(--line)); background: color-mix(in oklch, var(--amber) 8%, transparent); box-shadow: inset 0 -2px 0 var(--amber); }
.run-progress-meter { height: .4rem; overflow: hidden; background: var(--line); }
.run-progress-meter i { display: block; width: 0; height: 100%; background: var(--amber); transition: width .6s var(--ease-out); }

/* 骨架屏：评测运行中，列表空位表明「结果正在来的路上」，不是「没有数据」。 */
@keyframes skeleton-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.skeleton-row { height: 3.4rem; margin: .55rem 0; border-radius: .22rem; pointer-events: none; background: linear-gradient(100deg, color-mix(in oklch, var(--surface) 64%, transparent) 42%, color-mix(in oklch, var(--surface) 135%, white) 50%, color-mix(in oklch, var(--surface) 64%, transparent) 58%); background-size: 200% 100%; animation: skeleton-shimmer 1.5s linear infinite; }

/* 行动型空状态：告诉用户「现在做什么」，而不是描述「这里没有什么」。 */
.empty-invite { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border: 1px dashed color-mix(in oklch, var(--line) 130%, white); background: color-mix(in oklch, var(--surface) 45%, transparent); }
.empty-invite p { margin: 0; color: var(--muted); font-size: var(--fs-sm); line-height: 1.55; }
.empty-invite .text-button { flex: 0 0 auto; padding: .45rem .1rem; color: var(--amber); font-weight: 700; }
.empty-invite .text-button:hover { color: color-mix(in oklch, var(--amber) 80%, white); }
@media (max-width: 760px) {
  .run-progress-steps { grid-template-columns: 1fr; }
  .run-progress-head { flex-direction: column; gap: .4rem; }
  .empty-invite { flex-direction: column; align-items: flex-start; gap: .6rem; }
}

/* ---- 密码小眼睛：输入框内右侧的显隐切换 ---- */
.password-field { position: relative; display: block; }
.password-field input { width: 100%; padding-right: 3.25rem; }
.password-toggle { position: absolute; right: .35rem; top: 50%; translate: 0 -50%; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border: 0; border-radius: .2rem; color: var(--muted); background: transparent; cursor: pointer; }
.password-toggle:hover { color: var(--text); }
.password-toggle[aria-pressed="true"] { color: var(--amber); }
.password-toggle .slash { display: none; }
.password-toggle[aria-pressed="true"] .slash { display: initial; }
.password-toggle:focus-visible { outline: 2px solid var(--amber); outline-offset: 1px; }

/* 先读结论，再核对证据；一个行动沿着内容准备继续。 */
.decision-summary > .control-card { grid-column: 1 / -1; }
.decision-summary h2 { margin: .4rem 0 .7rem; font-size: var(--fs-lg); line-height: 1.45; overflow-wrap: anywhere; }
.decision-summary p { font-size: var(--fs-base); line-height: 1.65; }
#diagnosisFocusEvidence { color: var(--blue); font-weight: 650; }
#diagnosisFocusReason { color: var(--muted); font-size: var(--fs-sm); }
.decision-next { margin-top: 1rem; padding-top: .85rem; border-top: 1px solid var(--line); }
.decision-next p { margin: .35rem 0 0; }
#contentOpportunityContext { margin-bottom: 1.2rem; }
#answerViewer, #opportunityBriefCard, #answerGuardList { scroll-margin-top: 5.5rem; }
#geoVisibility { padding: .2rem 0; color: var(--blue); font: inherit; font-size: var(--fs-xl); font-weight: 750; text-align: left; text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 760px) {
  .decision-summary .form-actions { align-items: stretch; flex-direction: column; }
  .decision-summary .form-actions > button { width: 100%; min-height: 44px; white-space: normal; }
}
@media (max-width: 760px) {
  .sidebar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem .75rem; padding: .75rem 1rem; }
  .brand-lockup { padding: 0; }
  .brand-logo { max-width: 8rem; }
  .project-switcher { grid-column: 1 / -1; margin: 0; padding: .35rem 0; gap: .1rem .5rem; border-bottom: 0; }
  .project-switcher .project-label { grid-column: auto; }
  .project-switcher strong { grid-row: 2; }
  #openProjects { grid-column: 2; grid-row: 1 / 3; }
  .sidebar .nav-list { grid-column: 1 / -1; margin-top: 0; padding-bottom: 0; }
  .nav-advanced { margin-top: 0; padding-top: 0; }
  .sidebar-footer { grid-column: 1 / -1; margin-top: 0; padding-top: .25rem; }
  .sidebar-footer .profile-button { min-height: 44px; }
}
@media (max-width: 760px) {
  .geo-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
  .geo-metric-grid article { gap: .35rem; padding: .75rem; }
  .geo-metric-grid article:nth-child(odd) { border-right: 1px solid var(--line); }
  .geo-metric-grid article:nth-last-child(-n+2) { border-bottom: 0; }
  #visibility-view > .more-analysis { margin-top: .6rem; }
}
.article-copy .full-content-body { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .sidebar .brand-lockup { min-height: 0; height: 30px; }
  #visibility-view { padding-bottom: 1rem; }
  .main-area { padding-bottom: 1rem; }
}

/* Task-first content: compact headings, evidence and action keep their hierarchy. */
#content-view > h1 { font-size: clamp(24px, 2.5vw, 32px); margin-bottom: 12px; }
.content-intake { margin-top: 24px; }
.opportunity-context { color: var(--ink, #183544); font-size: var(--fs-base, 14px); line-height: 1.7; }
.answer-review { margin-top: 16px; }
.answer-review summary { cursor: pointer; padding: 12px 0; }
.answer-review-form, #publicationVerifyForm { display: grid; gap: 12px; margin: 16px 0; }
#publicationVerifyForm[hidden] { display: none; }
.answer-review-form label { display: grid; gap: 6px; }
.answer-review-form textarea, .answer-review-form input, .answer-review-form select { width: 100%; }
.answer-sample > p { white-space: pre-wrap; overflow-wrap: anywhere; }
.answer-sample blockquote { margin: 12px 0; padding: 12px; background: #edf2f4; }
@media (max-width: 760px) { .answer-review summary { min-height: 44px; } }

/* Workspace redesign: an editorial desk, with evidence and tasks ahead of setup. */
body[data-design="workspace"][data-theme="light"] {
  --ink: #f7f6f2; --ink-2: #efeee8; --surface: #fdfcf9; --surface-2: #f1f0ea;
  --text: #182e3b; --muted: #53636a; --muted-dark: #627077; --line: #dcded7;
  --blue: #254d66; --blue-light: #345d73; --amber: #995021; --green: #326a51; --red: #a03e34;
}
body[data-design="workspace"] .app-shell { grid-template-columns: 218px minmax(0, 1fr); }
body[data-design="workspace"] .sidebar { background: var(--ink-2); box-shadow: none; padding: 28px 16px 20px; overflow-y: auto; }
body[data-design="workspace"] .brand-lockup { margin-bottom: 24px; }
body[data-design="workspace"] .project-switcher { padding: 0 4px 24px; margin: 0 0 24px; }
body[data-design="workspace"] .nav-item { border: 0; min-height: 48px; padding: 12px; border-radius: 4px; }
body[data-design="workspace"] .nav-item.active { background: #dde5e6; color: #183544; box-shadow: none; }
body[data-design="workspace"] .nav-list > .nav-item::before { font-size: var(--fs-micro); font-variant-numeric: tabular-nums; color: var(--muted); }
body[data-design="workspace"] .nav-item[data-view="start"]::before { content: '01'; }
body[data-design="workspace"] .nav-item[data-view="visibility"]::before { content: '02'; }
body[data-design="workspace"] .nav-item[data-view="content"]::before { content: '03'; }
body[data-design="workspace"] .nav-item[data-view="reports"]::before { content: '04'; }
/* Semantic SVGs replace the temporary navigation numerals while preserving the
   text labels that make an unfamiliar GEO workflow easy to scan. */
body[data-design="workspace"] .nav-list > .nav-item::before { display: none; }
.control-icon { flex: 0 0 auto; width: 1.05rem; height: 1.05rem; stroke-width: 1.8; }
.nav-item .control-icon { width: 1.1rem; height: 1.1rem; color: var(--muted); }
.nav-item:hover .control-icon, .nav-item.active .control-icon { color: var(--blue); }
.button, .text-button, .notify-toggle, .profile-button, .project-choice { align-items: center; }
.button:has(.control-icon), .text-button:has(.control-icon), .notify-toggle:has(.control-icon), .profile-button:has(.control-icon) { display: inline-flex; gap: .45rem; }
.button .control-icon { width: 1rem; height: 1rem; }
.text-button .control-icon { width: .95rem; height: .95rem; }
.profile-button .control-icon { color: var(--muted); }
summary[data-echogeo-icon] { display: flex; align-items: center; gap: .45rem; }
summary[data-echogeo-icon] .control-icon { color: var(--muted); }
summary[data-echogeo-icon]::marker, summary[data-echogeo-icon]::-webkit-details-marker { display: none; }
summary[data-echogeo-icon]::after { content: ''; width: .45rem; height: .45rem; margin-left: auto; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-.15rem); transition: transform .15s var(--ease-out); }
details[open] > summary[data-echogeo-icon]::after { transform: rotate(225deg) translate(-.15rem, -.15rem); }
@media (max-width: 760px) {
  .nav-item .control-icon { width: 1rem; height: 1rem; }
  .nav-item { gap: .42rem; }
}
body[data-design="workspace"] .main-area { padding: 0 clamp(24px, 4vw, 64px) 40px; }
body[data-design="workspace"] .topbar { position: static; min-height: 72px; margin: 0; padding: 0; border-bottom: 1px solid var(--line); background: none; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; }
body[data-design="workspace"] .workspace-view { padding-top: 32px; }
body[data-design="workspace"] :is(#start-view, #visibility-view, #content-view, #reports-view) > h1 { font-size: clamp(24px, 2.8vw, 36px); line-height: 1.35; letter-spacing: -.035em; max-width: none; margin: 8px 0 12px; }
body[data-design="workspace"] .citation-kicker { margin: 0; font-size: var(--fs-micro); letter-spacing: .09em; color: var(--muted); }
body[data-design="workspace"] .citation-kicker::before { display: none; }
body[data-design="workspace"] .view-lede { font-size: var(--fs-base); line-height: 1.65; margin-bottom: 24px; }
body[data-design="workspace"] .control-card { background: var(--surface); box-shadow: none; border: 1px solid var(--line); border-radius: 4px; }
body[data-design="workspace"] .more-analysis { border: 0; border-top: 1px solid var(--line); background: none; border-radius: 0; }
body[data-design="workspace"] .more-analysis > summary { min-height: 48px; padding: 16px 0; font-weight: 600; }
body[data-design="workspace"] .start-note { margin-top: 20px; padding-top: 0; }
.workspace-pulse { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); margin: 20px 0 24px; }
.workspace-pulse[hidden] { display: none; }
.workspace-pulse > div { display: grid; gap: 8px; padding: 18px 20px; border-right: 1px solid var(--line); }
.workspace-pulse > div:first-child { padding-left: 0; }
.workspace-pulse > div:last-child { border: 0; }
.workspace-pulse span, .workspace-pulse small { color: var(--muted); font-size: var(--fs-micro); }
.workspace-pulse strong { font-size: var(--fs-md); font-weight: 650; }
.platform-comparison > article { grid-column: 1 / -1; min-width: 0; }
.comparison-toolbar { display: flex; align-items: end; gap: 16px; flex-wrap: wrap; margin: 16px 0; }
.comparison-toolbar label { display: grid; gap: 6px; font-size: var(--fs-sm); }
.comparison-toolbar select { max-width: 240px; }
.comparison-toolbar > span { flex: 1; min-width: 180px; }
.comparison-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.platform-matrix { width: 100%; border-collapse: collapse; text-align: left; font-size: var(--fs-sm); }
.platform-matrix th { text-align: left; font-weight: 600; }
.platform-matrix th, .platform-matrix td { padding: 12px; border-block: 1px solid var(--line); vertical-align: middle; }
.platform-matrix thead { background: var(--surface-2); }
.platform-matrix thead th { min-width: 168px; }
.platform-matrix th:first-child { min-width: 200px; max-width: 260px; }
.platform-matrix small { display: block; font-size: var(--fs-micro); font-weight: 400; color: var(--muted); margin-top: 4px; }
.matrix-cell { display: grid; gap: 5px; background: transparent; border: 0; padding: 8px 0; text-align: left; cursor: pointer; min-height: 64px; width: 100%; }
.matrix-cell strong { color: var(--blue); font-size: var(--fs-md); text-decoration: underline; text-underline-offset: 4px; }
.matrix-cell span, .matrix-unmeasured { color: var(--muted); font-size: var(--fs-micro); }
.comparison-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 20px; margin-top: 12px; font-size: var(--fs-sm); }
.report-decision { padding: 20px 0; border-block: 1px solid var(--line); margin-bottom: 20px; }
.report-decision h2 { margin: 8px 0; font-size: var(--fs-xl); }
.report-decision p, .report-decision small { line-height: 1.65; color: var(--muted); font-size: var(--fs-sm); }
.report-decision[data-verdict="down"] h2 { color: var(--red); }
.report-decision[data-verdict="up"] h2 { color: var(--green); }
body[data-design="workspace"] .report-insight-grid { align-items: start; }
body[data-design="workspace"] .report-outcome-summary { background: none; border: 0; margin: 0 0 20px; }
body[data-design="workspace"] .report-outcome-summary > div { padding: 12px; }
body[data-design="workspace"] .report-supporting > .more-analysis { margin-top: 0; }
body[data-design="workspace"] .run-progress-meter i { width: 100%; transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ease-out); }
body[data-design="workspace"] .skeleton-row { background: var(--surface-2); animation: skeleton-pulse 1.5s ease-in-out infinite alternate; }
@keyframes skeleton-pulse { from { opacity: .45; } to { opacity: 1; } }
body[data-design="workspace"] :is(button, a, select, input, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
@media (max-width: 1100px) and (min-width: 761px) { body[data-design="workspace"] .app-shell { grid-template-columns: 190px minmax(0, 1fr); } body[data-design="workspace"] .main-area { padding-inline: 24px; } }
@media (max-width: 760px) {
  body[data-design="workspace"] .app-shell { display: block; }
  body[data-design="workspace"] .sidebar { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 12px 16px 0; gap: 8px; height: auto; position: static; }
  body[data-design="workspace"] .brand-lockup { margin: 0; }
  body[data-design="workspace"] .project-switcher { padding: 4px 0; margin: 0; }
  body[data-design="workspace"] .nav-list { display: flex; gap: 4px; margin: 0; width: 100%; }
  body[data-design="workspace"] .nav-item { min-height: 44px; padding: 10px; font-size: var(--fs-sm); white-space: nowrap; }
  body[data-design="workspace"] .nav-list > .nav-item::before { display: none; }
  body[data-design="workspace"] .main-area { padding: 0 16px 24px; }
  body[data-design="workspace"] .topbar { min-height: 56px; flex-direction: row; align-items: center; gap: 8px; }
  body[data-design="workspace"] .top-actions { width: auto; }
  body[data-design="workspace"] .breadcrumb { font-size: var(--fs-micro); }
  body[data-design="workspace"] .workspace-view { padding-top: 20px; }
  body[data-design="workspace"] .view-lede { margin-bottom: 16px; }
  .workspace-pulse { grid-template-columns: 1fr; margin: 16px 0; }
  .workspace-pulse > div, .workspace-pulse > div:first-child { grid-template-columns: 90px 1fr; padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--line); gap: 4px 12px; }
  .workspace-pulse small { grid-column: 2; }
  .workspace-pulse strong { font-size: var(--fs-base); }
  .comparison-toolbar { gap: 12px; }
  .comparison-toolbar label { flex: 1; min-width: 110px; }
  .comparison-toolbar select { width: 100%; min-width: 0; }
  .comparison-toolbar > span { flex-basis: 100%; }
  .comparison-pagination { justify-content: space-between; gap: 8px; }
  .comparison-pagination button { min-height: 44px; }
  .platform-matrix th:first-child { min-width: 150px; max-width: 180px; }
  .platform-matrix thead th { min-width: 150px; }
  body[data-design="workspace"] .control-card { padding: 16px; }
  body[data-design="workspace"] .report-insight-grid { grid-template-columns: 1fr; }
  body[data-design="workspace"] .section-heading { flex-wrap: wrap; gap: 8px; }
  body[data-design="workspace"] .geo-item { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { body[data-design="workspace"] .skeleton-row { animation: none; } body[data-design="workspace"] .run-progress-meter i { transition: none; } }
body[data-design="workspace"] #diagnosisFocus .control-card { padding: 20px 24px; }
body[data-design="workspace"] #diagnosisFocus .decision-next { margin-top: 12px; padding-top: 12px; }
body[data-design="workspace"] #diagnosisFocus .form-actions { margin-top: 16px; }
.diagnosis-evidence summary { font-size: var(--fs-sm); color: var(--muted); cursor: pointer; padding: 8px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
body[data-design="workspace"] .report-outcome-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
body[data-design="workspace"] .report-outcome-summary > div { min-width: 0; }
body[data-design="workspace"] .report-outcome-summary dd { font-size: var(--fs-md); overflow-wrap: anywhere; }
body[data-design="workspace"] .report-compare-card { order: -1; grid-column: 1 / -1; }
.report-trend-disclosure { grid-column: 1 / -1; margin-top: 0; }
body[data-design="workspace"] .report-insight-grid { gap: 12px; }
body[data-design="workspace"] .report-supporting { margin-top: 0; }
@media (max-width: 760px) {
  body[data-design="workspace"] .report-outcome-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-design="workspace"] .report-outcome-summary > div { padding: 10px 8px; border: 0; border-bottom: 1px solid var(--line); }
  body[data-design="workspace"] #roundCompareBody .geo-item { padding-block: 12px; gap: 8px; }
  body[data-design="workspace"] #roundCompareBody .geo-item > span { display: flex; align-items: center; gap: 12px; }
  body[data-design="workspace"] .compare-overall { padding-block: 12px; }
}

/* The overview explains the work before asking users to choose a tool. */
body[data-design="workspace"] .geo-workflow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0; margin: 24px 0; border-block: 1px solid var(--line); }
.geo-workflow li { display: flex; align-items: flex-start; gap: 14px; padding: 20px 16px; color: var(--muted); }
.geo-workflow li + li { border-left: 1px solid var(--line); }
.geo-workflow .workflow-number { font-size: 13px; font-variant-numeric: tabular-nums; padding-top: 3px; }
.geo-workflow strong { font-size: 16px; color: var(--text); }
.geo-workflow p { margin: 6px 0 10px; font-size: 13px; line-height: 1.5; }
.geo-workflow small { font-size: 12px; }
.geo-workflow [aria-current="step"] { background: #eaf0ee; box-shadow: inset 0 3px #34594b; }
.geo-workflow [aria-current="step"] small { color: #34594b; font-weight: 650; }
.start-example { border-top: 1px solid #cbd8d1; margin-top: 8px; padding-top: 16px; }
.start-example > span { color: var(--muted); font-size: 11px; }
.start-example p { font-size: 13px; line-height: 1.7; margin: 8px 0; }
.start-example blockquote { margin: 12px 0; font-size: 17px; line-height: 1.6; color: var(--text); }
#start-view .start-brand-form input { min-height: 44px; }
#start-view .start-brand-form .form-actions { align-items: flex-start; flex-direction: column; }
@media (max-width: 760px) {
  body[data-design="workspace"] .geo-workflow { grid-template-columns: 1fr; margin: 16px 0; }
  .geo-workflow li { padding: 12px; }
  .geo-workflow li + li { border-left: 0; border-top: 1px solid var(--line); }
  .geo-workflow li > div { flex: 1; }
  .geo-workflow p { margin: 4px 0; }
  #start-view .start-brand-form .button { width: 100%; }
}
@media (max-width: 760px) {
  body[data-design="workspace"] .geo-workflow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .geo-workflow li { display: block; padding: 12px 8px; }
  .geo-workflow li + li { border-top: 0; border-left: 1px solid var(--line); }
  .geo-workflow .workflow-number { display: block; margin-bottom: 8px; }
  .geo-workflow strong { font-size: 13px; }
  .geo-workflow p, .geo-workflow small { display: none; }
}

/* Keep the permanent tools group inside the viewport on phones. */
@media (max-width: 760px) {
  body[data-design="workspace"] .nav-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
  body[data-design="workspace"] .nav-advanced { grid-column: 1 / -1; width: 100%; }
  body[data-design="workspace"] .nav-advanced-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  body[data-design="workspace"] .nav-advanced .nav-item { justify-content: flex-start; min-width: 0; overflow: hidden; }
}

.action-completion-dialog { width: min(36rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; padding: 1.5rem; border: 1px solid var(--line); background: var(--surface); color: var(--text); box-shadow: var(--depth-overlay); }
.action-completion-dialog::backdrop { background: rgb(0 0 0 / .6); }
.action-completion-dialog .form-grid { grid-template-columns: 1fr; }
.action-completion-dialog input, .action-completion-dialog textarea { width: 100%; box-sizing: border-box; padding: .65rem .75rem; border: 1px solid var(--line); background: var(--surface); color: var(--text); font: inherit; }
.action-completion-dialog textarea { min-height: 7rem; resize: vertical; }

/* Evidence and the next action share a stable, readable product hierarchy. */
body[data-design="workspace"] #diagnosisFocus { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
body[data-design="workspace"] #diagnosisFocus > .control-card { grid-column: auto; display: flex; flex-direction: column; min-width: 0; }
body[data-design="workspace"] #diagnosisFocus .form-actions { margin-top: auto; padding-top: 16px; }
body[data-design="workspace"] #diagnosisFocus h2 { font-size: 20px; letter-spacing: -.02em; line-height: 1.45; }
.focus-action-card h3 { font-size: 18px; line-height: 1.5; margin: 8px 0; text-wrap: pretty; }
.workflow-status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border: 1px solid var(--line); background: color-mix(in srgb, var(--blue) 7%, var(--surface)); color: var(--text); font-size: 12px; line-height: 1.5; white-space: nowrap; }
.workflow-status[data-state="waiting"] { background: color-mix(in srgb, var(--amber) 9%, var(--surface)); }
.workflow-status[data-state="observed"] { background: color-mix(in srgb, var(--blue) 12%, var(--surface)); }
.action-brief { margin: 12px 0; display: grid; gap: 12px; }
.action-brief > div { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; }
.action-brief dt { color: var(--muted); font-size: 12px; padding-top: 2px; }
.action-brief dd { margin: 0; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; white-space: pre-line; }
.task-question { color: var(--muted); }
.claim-context { padding: 20px; margin-bottom: 16px; background: var(--surface); border: 1px solid var(--line); }
.claim-context blockquote, #contentSourceTasks blockquote { margin: 12px 0; padding: 12px 0; border-block: 1px solid var(--line); font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.claim-task { padding: 12px 0; border-top: 1px solid var(--line); }
#contentSourceTasks details { margin-top: 12px; }
#contentSourceTasks summary, .audit-summary summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; }
body[data-design="workspace"] #siteAuditResult .audit-actions { margin-block: 20px; }
.audit-action { min-width: 0; }
.audit-action small { display: block; line-height: 1.65; }
body[data-design="workspace"] .opportunity-item > div, body[data-design="workspace"] .report-split-item > div { min-width: 0; overflow-wrap: anywhere; }
body[data-design="workspace"] .opportunity-item { grid-template-columns: minmax(0, 1fr) minmax(80px, auto); }
body[data-design="workspace"] .report-split-item { grid-template-columns: minmax(0, 1fr) minmax(96px, auto); }
body[data-design="workspace"] .model-rate { font-variant-numeric: tabular-nums; text-align: right; }
body[data-design="workspace"] .report-decision .form-actions { margin-top: 16px; }
body[data-design="workspace"] :is(#priorityAction, #siteAuditResult, #contentSourceTasks, #reportDecision, #geoActionsList, #claimEvidenceContext) :is(button, summary) { min-height: 44px; }
@media (max-width: 1000px) {
  body[data-design="workspace"] #diagnosisFocus { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  body[data-design="workspace"] .opportunity-item, body[data-design="workspace"] .report-split-item { grid-template-columns: 1fr; }
  body[data-design="workspace"] #diagnosisFocus > .control-card { padding: 16px; }
  .action-brief > div { grid-template-columns: 1fr; gap: 4px; }
  .focus-action-card .section-heading { flex-wrap: wrap; }
  .claim-context { padding: 16px; }
  #siteAuditResult .site-audit-actions { display: flex; flex-wrap: wrap; }
  #siteAuditResult .site-audit-actions .button { flex: 1 1 160px; }
  body[data-design="workspace"] #start-view .geo-workflow { margin-block: 12px; }
}
body[data-design="workspace"] #diagnosisFocus[data-action-only="true"] > #priorityAction { grid-column: 1 / -1; }

/* Personal settings stay compact; team controls have their own role-aware tab. */
.settings-disclosure { margin-top: 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); }
.settings-disclosure > summary { padding: 16px 20px; min-height: 48px; cursor: pointer; font-weight: 650; }
.settings-disclosure-body { padding: 0 20px 20px; }
.settings-disclosure-body .config-state { display: inline-block; margin-top: 8px; }
.security-policy-toggle { display: flex; align-items: center; gap: 10px; min-height: 44px; color: var(--text); }
#requireMfaForManagers { flex: 0 0 18px; width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; accent-color: var(--blue); }
.sidebar-footer .profile-button { display: flex; width: 100%; min-width: 0; gap: 8px; white-space: nowrap; }
.sidebar-footer .profile-button span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

.settings-disclosure > summary { display: flex; align-items: center; gap: 8px; list-style: none; }
.settings-disclosure > summary::-webkit-details-marker { display: none; }
.settings-disclosure > summary::after { content: ''; width: 7px; height: 7px; margin-left: auto; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.settings-disclosure[open] > summary::after { transform: rotate(225deg); }

.question-stage-filter { display: flex; align-items: center; gap: 12px; margin-block: 12px; font-size: var(--fs-sm); }
.question-stage-filter select { min-height: 44px; }
.question-origin { color: var(--blue); font-size: var(--fs-sm); }
.question-journey { margin-top: 12px; border-top: 1px solid var(--line); }
.question-journey summary { cursor: pointer; min-height: 44px; padding-block: 12px; }
.question-journey-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding-block: 12px; }
.question-journey-grid section { min-width: 0; overflow-wrap: anywhere; }
.question-journey-grid section:last-child { grid-column: 1 / -1; }
.question-journey-grid h4 { margin: 8px 0; }
.question-journey-grid ul { padding-left: 20px; color: var(--muted); font-size: var(--fs-sm); }
.question-journey-grid .text-button { min-height: 44px; white-space: normal; text-align: left; }
@media (max-width: 760px) { .question-journey-grid { grid-template-columns: 1fr; } }

/* Task-first workspace: one deliverable and one next step. */
#guidedContentTask { grid-template-columns: minmax(0, 1fr); }
.task-deliverable { max-width: 980px; }
.task-completed { display: flex; flex-wrap: wrap; gap: 12px 28px; padding: 18px 0; list-style: none; border-block: 1px solid rgba(29, 67, 86, .12); }
.task-completed li::before { content: '✓ '; color: var(--accent, #a84d20); }
.task-preview { padding: 15px 0; border-bottom: 1px solid rgba(29, 67, 86, .12); }
.task-preview summary { cursor: pointer; font-weight: 600; }
.task-preview blockquote { margin: 16px 0; padding-left: 16px; border-left: 2px solid rgba(29, 67, 86, .2); white-space: pre-wrap; overflow-wrap: anywhere; }
.task-next { margin-top: 24px; }
.task-next h3 { margin: 8px 0 12px; }
.task-materials { margin-bottom: 32px; }
.task-materials label { display: grid; gap: 8px; margin: 16px 0; }
.task-fact-form { padding: 20px 0; border-top: 1px solid rgba(29, 67, 86, .12); }
#diagnosisFocus { grid-template-columns: minmax(0, 1fr); }
#workbench-view:has(#guidedContentTask:not([hidden])) > .intro-row .article-meta { display: none; }
#workbench-view:has(#guidedContentTask:not([hidden])) #contentAdvanced > .next-action-card { display: none; }
@media (max-width: 640px) { .task-completed { display: grid; gap: 10px; } .task-next .button { width: 100%; } }
#setup-view:has(#taskMaterials:not([hidden])) > :not(#taskMaterials) { display: none; }
.workspace-tools .nav-item { width: auto; min-height: 44px; }
body[data-design="workspace"] .sidebar { overflow-x: hidden; }
.task-deliverable > .text-button { margin-top: 12px; }

/* Results precede research detail. */
.result-report-summary { margin: 20px 0; }
.result-head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.result-head h2 { font-size: 20px; margin: 0; }
.result-head small, .result-kpis small, .result-platform-row small { color: var(--muted); }
.result-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 16px 0; border-block: 1px solid var(--line); }
.result-kpis > div { padding: 16px 12px; }
.result-kpis dt { font-size: 13px; }
.result-kpis dd { margin: 6px 0; font-size: 30px; font-weight: 700; font-variant-numeric: tabular-nums; }
.result-kpis small { font-size: 12px; }
.result-platforms { padding: 10px 0; }
.result-platform-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.result-platform-row small { display: block; margin-top: 4px; }
.result-report-ledger { grid-template-columns: minmax(0, 1fr); }
.result-report-ledger .result-table { font-size: 12px; }
.result-report-ledger .result-table td { padding: 9px; max-width: 240px; overflow-wrap: anywhere; }
.report-pagination { display: flex; align-items: center; gap: 18px; padding-top: 12px; }
.report-pagination > span { margin-right: auto; font-size: 13px; color: var(--muted); }
.ledger-more-filters { margin: 10px 0; }
.ledger-more-filters .ledger-controls { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
#visibility-view .baseline-bar { display: none; }
#visibility-view #diagnosisFocus .decision-next { display: none; }
#visibility-view #diagnosisFocus .control-card { padding: 18px 24px; }
#visibility-view #diagnosisFocus h2 { font-size: 20px; }
@media (max-width: 760px) { .result-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .result-platform-row { align-items: flex-start; } .report-pagination { gap: 10px; } }
#visibility-view > .view-lede { margin-bottom: 16px; }
#visibility-view .result-report-ledger .control-card { padding: 18px; }
#visibility-view .result-report-ledger .section-heading { margin-bottom: 10px; }
#visibility-view .result-report-ledger .result-table th:nth-child(1), #visibility-view .result-report-ledger .result-table td:nth-child(1),
#visibility-view .result-report-ledger .result-table th:nth-child(3), #visibility-view .result-report-ledger .result-table td:nth-child(3) { display: none; }
#visibility-view .result-report-ledger .result-table { min-width: 700px; }
#visibility-view > .more-analysis { margin-top: 12px; }
.report-question { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.result-platform-count meter { display: block; width: 150px; height: 12px; accent-color: var(--accent, #a84d20); }
#visibility-view #diagnosisFocusEvidence, #visibility-view #diagnosisFocusScope { display: none; }
#visibility-view #diagnosisFocus { margin-block: 12px; }
#visibility-view .result-report-ledger { margin-top: 12px; }

/* Operational workspace: results, assets and delivery each have one home. */
#start-view .workspace-pulse { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.workspace-pulse > button { display: grid; gap: 8px; text-align: left; padding: 18px 20px; color: var(--text); background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.workspace-pulse > button:hover { background: var(--panel-soft, #eef2f3); }
.workspace-pulse > button span { color: var(--muted); font-size: 13px; }
.workspace-pulse > button strong { font-size: 23px; font-variant-numeric: tabular-nums; }
.publish-workspace { margin: 24px 0; align-items: start; }
.publish-workspace h2 { margin-bottom: 20px; }
.publish-route { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.browser-publisher { margin-top: 24px; border-top: 1px solid var(--line, #dce1e3); padding-top: 18px; }
.browser-publisher summary { min-height: 44px; cursor: pointer; font-weight: 600; }
.browser-publisher p { line-height: 1.7; }
.publish-accounts { display: grid; gap: 8px; margin: 16px 0; }
.publish-accounts .profile-check { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.publish-accounts input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 18px; }
.draft-receipts { padding: 0; list-style: none; margin: 12px 0; }
.draft-receipts li { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 8px 0; font-size: 13px; }
.draft-receipts li strong { font-size: 13px; }
#publishSelectionSummary { min-height: 24px; }
#publishing-view .publish-card { margin-top: 20px; }
#publishing-view .publish-card > .section-heading { margin-bottom: 16px; }
#publishing-view .geo-item { align-items: start; }
@media (max-width: 640px) {
  #start-view .workspace-pulse { grid-template-columns: 1fr; }
  .workspace-pulse > button { display: flex; align-items: center; justify-content: space-between; }
  .publish-route { align-items: stretch; flex-direction: column; }
}
.workspace-pulse > button > .control-icon { display: none; }
.top-actions > .button { white-space: nowrap; }
@media (max-width: 900px) {
  .topbar .last-saved { display: none; }
  .topbar .breadcrumb { flex-shrink: 0; white-space: nowrap; }
}

/* Subject workspace: one result surface, five task destinations. */
body[data-design="workspace"][data-theme="light"] {
  --ink:#f5f7fa; --ink-2:#f0f3f7; --surface:#fcfdff; --surface-2:#edf2f7;
  --text:#183046; --muted:#576879; --muted-dark:#677889; --line:rgba(24,48,70,.13);
  --blue:#194d72; --blue-light:#194d72; --amber:#c95713;
  color:var(--text); background:var(--ink); font-size:14px;
}
/* 浅色工作台里的阶段点缀色压深一档，保证小字可读；依旧只用于色脊与文字。 */
body[data-design="workspace"][data-theme="light"] {
  --palace-red: #a83a26;
  --rouge: #a84a5e;
  --imperial: #8a6d10;
}
body[data-design="workspace"] .app-shell { grid-template-columns:232px minmax(0,1fr); }
body[data-design="workspace"] .sidebar { background:var(--surface); padding:24px 16px 16px; border-right:1px solid var(--line); box-shadow:none; }
body[data-design="workspace"] .brand-lockup { padding:0 8px; }
body[data-design="workspace"] .brand-logo { max-width:164px; }
body[data-design="workspace"] .project-switcher { margin:28px 0 16px; padding:0 0 20px; gap:8px; }
body[data-design="workspace"] .project-label { font-size:12px; color:var(--muted); }
.subject-switch-label { display:grid; gap:8px; margin-top:16px; color:var(--muted); font-size:12px; }
.subject-switch-label select { width:100%; min-width:0; font-size:14px; font-weight:600; color:var(--text); padding:10px 8px; border:1px solid var(--line); background:var(--ink); border-radius:6px; }
body[data-design="workspace"] .nav-item { min-height:44px; padding:10px 12px; font-size:14px; border-radius:6px; }
body[data-design="workspace"] .nav-item.active { background:#e9f0f6; color:#173f60; border-color:transparent; }
body[data-design="workspace"] .nav-item.active::after { display:none; }
body[data-design="workspace"] .nav-advanced { padding-top:20px; margin-top:20px; border-top:1px solid var(--line); }
body[data-design="workspace"] .main-area { padding:0 36px 48px; min-width:0; }
body[data-design="workspace"] .topbar { height:72px; min-height:72px; padding:0; margin-bottom:28px; border-bottom:1px solid var(--line); }
body[data-design="workspace"] .workspace-view { max-width:1240px; margin:auto; padding-top:0; }
body[data-design="workspace"] .workspace-view h1 { font-family:inherit; font-size:28px; line-height:1.3; letter-spacing:-.025em; margin:0 0 12px; }
body[data-design="workspace"] .workspace-view h2 { font-family:inherit; font-size:18px; line-height:1.4; letter-spacing:-.015em; }
body[data-design="workspace"] .control-card { border:1px solid var(--line); border-radius:8px; box-shadow:none; background:var(--surface); padding:24px; }
body[data-design="workspace"] .button { min-height:40px; padding:10px 16px; border-radius:6px; font-size:14px; }
body[data-design="workspace"] .button.primary { color:#fcfdff; background:#194d72; border-color:#194d72; }
body[data-design="workspace"] .text-button { min-height:36px; color:var(--blue); font-size:13px; }
body[data-design="workspace"] input:not([type=checkbox]):not([type=radio]), body[data-design="workspace"] select, body[data-design="workspace"] textarea { border-radius:5px; }
body[data-design="workspace"] .section-marker { display:none; }
body[data-design="workspace"] .form-help { font-size:13px; line-height:1.65; }
body[data-design="workspace"] .more-analysis { border:1px solid var(--line); border-radius:8px; background:var(--surface); margin:16px 0; }
body[data-design="workspace"] .more-analysis > summary { padding:16px 20px; font-size:14px; font-weight:600; }
body[data-design="workspace"] .more-analysis > .control-card { border:0; }

#start-view:not(.has-subject) #subjectActionBar { display:none; }
#questions-view #promptLibrarySection { display:block; margin:0; }
#questions-view .library-item { align-items:flex-start; padding:16px 0; }
#questions-view .library-item > div > strong { display:none; }
#questions-view .library-item > div > p { margin:0 0 6px; color:var(--text); font-size:15px; font-weight:600; }
#questions-view .library-actions { flex-shrink:0; }
#questions-view .library-controls { margin-bottom:16px; }
#questionSuggestions:has(> summary:only-child) { display:none; }
.workspace-page-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; gap:16px; }
.workspace-page-heading p { color:var(--muted); margin:0; }
#setup-view .workspace-tools { margin-top:24px; }
#setup-view .workspace-tools > p, #setup-view .workspace-tools > h2 { display:none; }
#setup-view .workspace-tools .nav-item { display:inline-flex; }
#setup-view > .view-lede { margin-bottom:24px; }
.subject-action-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; font-size:13px; color:var(--muted); }
.subject-action-bar > div { display:flex; align-items:center; gap:10px; }
.results-heading { display:flex; gap:24px; align-items:flex-end; justify-content:space-between; margin-bottom:24px; }
.results-heading h1 { margin-bottom:8px!important; font-size:30px!important; }
.results-object-kind { color:var(--muted); font-size:12px; margin:0 0 8px; }
.results-updated { font-size:12px; color:var(--muted); margin:0; }
.results-filters { display:flex; flex-wrap:wrap; gap:10px; }
.results-filters label { display:grid; gap:6px; font-size:12px; color:var(--muted); }
.results-filters select, .results-toolbar select, .results-toolbar input { border:1px solid var(--line); background:var(--surface); color:var(--text); min-height:40px; padding:8px 10px; border-radius:5px; font-size:13px; }
.results-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--surface); border:1px solid var(--line); border-radius:8px; margin-bottom:24px; padding:20px 0; }
.results-metrics > div { padding:0 24px; border-right:1px solid var(--line); }
.results-metrics > div:last-child { border:0; }
.results-metrics > div > span { display:block; font-size:13px; color:var(--muted); margin-bottom:10px; }
.results-metrics strong { display:block; font-size:30px; letter-spacing:-.03em; line-height:1.2; font-variant-numeric:tabular-nums; }
.results-metrics strong small { font-size:12px; font-weight:400; letter-spacing:0; color:var(--muted); margin-left:8px; }
.results-panel { margin-bottom:20px; background:var(--surface); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.results-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; }
.results-panel-heading h2 { font-size:17px; margin:0; }
.results-panel-heading > span { color:var(--muted); font-size:12px; }
.results-matrix table, .results-answer-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.results-matrix th, .results-matrix td { border-top:1px solid var(--line); padding:8px 22px; height:52px; vertical-align:middle; }
.results-matrix thead th { text-align:right; font-size:12px; font-weight:500; color:var(--muted); background:var(--ink); height:38px; }
.results-matrix th:first-child { text-align:left; }
.results-matrix tbody th { font-size:14px; font-weight:600; }
.results-matrix td { text-align:right; font-variant-numeric:tabular-nums; }
.platform-monogram { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:7px; border:1px solid var(--line); background:var(--ink); margin-right:12px; font-size:13px; color:var(--blue); }
.result-cell { display:inline-flex; flex-direction:column; align-items:flex-end; border:0; background:transparent; color:var(--blue); cursor:pointer; min-height:44px; justify-content:center; padding:4px 0 4px 16px; }
.result-cell strong { font-size:20px; }
.result-cell span, .result-cell-empty small { font-size:11px; color:var(--muted); display:block; margin-top:3px; }
.result-cell-empty { font-size:13px; color:var(--muted); }
.results-platform-note { padding:12px 22px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.results-toolbar { display:flex; flex-wrap:wrap; gap:8px; padding:0 22px 16px; align-items:center; }
.results-search { flex:1; min-width:180px; }
.results-search input { width:100%; }
.results-answer-table th { text-align:left; background:var(--ink); font-weight:500; font-size:12px; color:var(--muted); }
.results-answer-table th:first-child { width:38%; }
.results-answer-table th:last-child { width:100px; }
.results-answer-table th, .results-answer-table td { padding:12px 16px; border-top:1px solid var(--line); font-size:13px; overflow-wrap:anywhere; }
.results-answer-table td:first-child { font-weight:500; line-height:1.6; }
.results-answer-table small { display:block; color:var(--muted); margin-top:5px; font-size:11px; }
.result-status { display:inline-block; padding:4px 8px; border-radius:4px; background:var(--ink); color:var(--muted); font-size:12px; white-space:nowrap; }
.result-status.is-mentioned { background:#e8f0f7; color:#214d70; }
.results-pagination { display:flex; justify-content:space-between; align-items:center; padding:10px 22px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.results-pagination > div { display:flex; gap:20px; }
.results-empty { padding:36px 24px; text-align:center; }
.results-empty strong { font-size:16px; }
.results-empty p { font-size:13px; color:var(--muted); margin:10px 0 18px; }
.results-empty-inline { padding:0 22px 22px; font-size:13px; color:var(--muted); margin:0; }
.results-history summary { padding:18px 22px; font-size:15px; font-weight:600; cursor:pointer; }
.results-history > p { padding:0 22px; }
.results-history-row, .results-publication { display:flex; justify-content:space-between; align-items:center; gap:20px; width:100%; padding:16px 22px; background:transparent; border:0; border-top:1px solid var(--line); color:var(--text); font-size:13px; text-decoration:none; }
.results-history-row { cursor:pointer; }
.results-history-row:hover, .results-publication:hover { background:var(--ink); }
.results-publication span { color:var(--muted); font-size:12px; }
.results-tools { display:flex; flex-wrap:wrap; gap:24px; }
.result-preview-dialog, .result-share-dialog, .observation-dialog, .results-evidence { border:1px solid var(--line); background:var(--ink); color:var(--text); border-radius:12px; padding:24px; max-height:90dvh; width:min(1140px,calc(100vw - 40px)); box-shadow:0 24px 80px #18304630; }
.result-share-dialog, .observation-dialog, .results-evidence { width:min(800px,calc(100vw - 40px)); }
.result-preview-dialog > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
dialog::backdrop { background:rgb(15 30 45 / .45); }
.results-evidence { background:var(--surface); }
.results-answer { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:14px; line-height:1.9; padding:20px; background:var(--ink); border-radius:6px; }
.evidence-question { font-size:18px; font-weight:600; }
.subject-public-report { max-width:1140px; margin:24px auto; padding:0 24px; }
.results-skeleton { min-height:580px; border:1px solid var(--line); border-radius:8px; background:var(--surface); padding:24px; }
.results-skeleton i { display:block; height:112px; margin-top:20px; background:var(--ink); border-radius:6px; }
.results-skeleton span { color:var(--muted); }
body[data-design="workspace"] :is(button,a,input,select,textarea,summary):focus-visible { outline:2px solid #bd4c0b; outline-offset:3px; }
@media(max-width:1100px) {
  body[data-design="workspace"] .app-shell { grid-template-columns:208px minmax(0,1fr); }
  body[data-design="workspace"] .main-area { padding:0 24px 32px; }
  .results-heading { align-items:flex-start; flex-direction:column; }
}
@media(max-width:760px) {
  body[data-design="workspace"] .app-shell { display:block; }
  body[data-design="workspace"] .sidebar { position:relative; height:auto; padding:16px; }
  body[data-design="workspace"] .sidebar .brand-logo { max-width:132px; }
  body[data-design="workspace"] .project-switcher { margin:16px 0; padding-bottom:12px; grid-template-columns:1fr 1fr; }
  body[data-design="workspace"] .subject-switch-label { margin:0; grid-column:1/-1; }
  body[data-design="workspace"] .nav-list { display:flex; overflow-x:auto; gap:4px; }
  body[data-design="workspace"] .nav-list > .nav-item { flex:1; justify-content:center; padding:10px 8px; white-space:nowrap; }
  body[data-design="workspace"] .nav-advanced { border:0; margin:0; padding:0; }
  body[data-design="workspace"] .sidebar-footer { display:none; }
  body[data-design="workspace"] .main-area { padding:0 16px 32px; }
  body[data-design="workspace"] .topbar { margin-bottom:20px; }
  body[data-design="workspace"] .button, body[data-design="workspace"] .text-button { min-height:44px; }
  .results-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 0; }
  .results-metrics > div { padding:0 16px; }
  .results-metrics > div:nth-child(2) { border:0; }
  .results-heading h1 { font-size:24px!important; }
  .results-filters { width:100%; }
  .results-filters label { flex:1; }
  .results-filters select { width:100%; }
  .results-panel-heading,.results-platform-note { padding:16px; }
  .results-matrix th,.results-matrix td { padding:10px; }
  .platform-monogram { display:none; }
  .results-toolbar { padding:0 16px 16px; }
  .results-search { min-width:100%; }
  .results-answer-table thead { display:none; }
  .results-answer-table tbody,.results-answer-table tr { display:block; }
  .results-answer-table tr { border-top:1px solid var(--line); padding:12px 16px; }
  .results-answer-table td { display:inline-block; border:0; width:auto; padding:6px 10px 6px 0; }
  .results-answer-table td:first-child { display:block; }
  .results-answer-table td:last-child { float:right; }
  .results-answer-table tr::after { content:''; display:block; clear:both; }
  .result-preview-dialog,.result-share-dialog,.observation-dialog,.results-evidence { width:calc(100vw - 16px); max-height:94dvh; padding:16px; }
  .subject-public-report { padding:0 12px; }
  .subject-action-bar { align-items:flex-start; }
  .subject-action-bar > div { flex-wrap:wrap; justify-content:flex-end; }
  .workspace-page-heading { align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) { .results-panel *, .subject-action-bar * { transition:none!important; animation:none!important; } }
.content-filters { display:flex; gap:4px; padding:0 0 16px; margin-bottom:8px; border-bottom:1px solid var(--line); }
.content-filters button { border:0; border-radius:5px; padding:10px 14px; min-height:44px; background:transparent; color:var(--muted); font-size:13px; cursor:pointer; }
.content-filters button[aria-pressed="true"] { background:var(--surface-2); color:var(--blue); font-weight:600; }
section.results-evidence { width:100%; max-height:none; margin-top:20px; box-shadow:none; }
#observationContents .control-card { padding:0; border:0; }
#resultShareContents .control-card { box-shadow:none; }
@media(max-width:760px) { .content-filters button { flex:1; padding:10px 8px; } }

/* Diagnosis-first workspace: restrained report typography and quiet controls. */
body[data-design="workspace"] { --diagnosis-accent:#a44921; }
body[data-design="workspace"] :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--diagnosis-accent); outline-offset:3px; }
#start-view:not(.has-subject) { max-width:760px; margin-inline:auto; }
#start-view:not(.has-subject) > h1 { display:none; }

#start-view:not(.has-subject) .start-brand-form { margin-top:28px; background:var(--surface); padding:28px; border:1px solid var(--line); border-radius:8px; }
#start-view:not(.has-subject) .start-brand-form input { min-height:48px; }
#diagnosisHome { max-width:1120px; margin-inline:auto; }
.diagnosis-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.diagnosis-heading h1 { font-size:clamp(26px,2.5vw,34px)!important; margin:6px 0 8px!important; letter-spacing:-.035em; }
.diagnosis-date { color:var(--muted); font-size:var(--fs-sm); margin:0; }
.diagnosis-heading-actions { display:flex; gap:12px; align-items:center; }
.diagnosis-heading-actions select { border:1px solid var(--line); border-radius:5px; padding:10px; background:var(--surface); color:var(--text); }
.diagnosis-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line); margin-bottom:24px; }
.diagnosis-tabs button { border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); padding:12px 0; font:inherit; cursor:pointer; }
.diagnosis-tabs button[aria-pressed="true"] { color:var(--text); border-bottom-color:var(--diagnosis-accent); font-weight:600; }
.diagnosis-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:4px 0 24px; }
.diagnosis-summary h2 { font-size:var(--fs-lg); line-height:1.6; margin:0 0 6px; }
.diagnosis-summary p { margin:0; font-size:var(--fs-sm); color:var(--muted); }
.diagnosis-source { font-size:var(--fs-micro); padding:6px 10px; border:1px solid var(--line); border-radius:4px; color:var(--muted); white-space:nowrap; }
.diagnosis-next { display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--surface); border:1px solid var(--line); padding:22px 24px; border-radius:6px; margin:0 0 28px; }
.diagnosis-next h2 { font-size:var(--fs-md); margin:8px 0; line-height:1.65; }
.diagnosis-next p { margin:0; font-size:var(--fs-sm); color:var(--muted); }
.diagnosis-next .button { flex-shrink:0; }
.diagnosis-question-section > .section-heading h2 { margin:0; font-size:var(--fs-md); }
.diagnosis-question { display:flex; justify-content:space-between; gap:24px; padding:16px 0; border-top:1px solid var(--line); }
.diagnosis-question h3 { margin:0 0 6px; font-size:var(--fs-base); font-weight:500; line-height:1.7; }
.diagnosis-question p { margin:0; color:var(--muted); font-size:var(--fs-sm); }
.diagnosis-question > button { flex-shrink:0; }
.diagnosis-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:12px; color:var(--muted); font-size:var(--fs-micro); }
.diagnosis-question-section .results-pagination { padding-inline:0; }
.diagnosis-progress { display:flex; gap:14px; align-items:center; padding:16px 20px; margin-bottom:20px; border:1px solid var(--line); background:var(--surface); border-radius:6px; }
.diagnosis-progress p { margin:6px 0 0; font-size:var(--fs-sm); color:var(--muted); }
.running-dot { width:8px; height:8px; border-radius:50%; background:var(--diagnosis-accent); flex-shrink:0; animation:diagnosis-pulse 1.8s ease-in-out infinite; }
@keyframes diagnosis-pulse { 50% { opacity:.35; } }
.inline-notice { color:var(--muted); font-size:var(--fs-sm); background:var(--surface); border:1px solid var(--line); padding:12px 16px; }
#subjectResults .results-heading { display:none; }
#subjectResults .results-panel-heading > span { font-size:var(--fs-micro); }
#setup-view #materialWorkspace { margin:24px 0 32px; }
.material-toolbar { display:flex; gap:16px; align-items:flex-end; padding-bottom:16px; }
.material-toolbar label { display:grid; gap:8px; font-size:var(--fs-sm); color:var(--muted); }
.material-toolbar select, .material-toolbar input { min-height:44px; border:1px solid var(--line); padding:10px 12px; border-radius:5px; background:var(--surface); color:var(--text); font:inherit; }
.material-search { flex:1; }
.material-toolbar > button { flex-shrink:0; }
#materialEditor { margin:12px 0 20px; }
#knowledgeAssetForm { padding:20px 0; }
.material-row { display:flex; gap:20px; align-items:center; padding:20px 0; border-bottom:1px solid var(--line); }
.material-type { width:88px; flex-shrink:0; color:var(--muted); font-size:var(--fs-micro); }
.material-description { flex:1; min-width:0; }
.material-description h3 { margin:0 0 6px; font-size:var(--fs-base); }
.material-description p { margin:4px 0 0; color:var(--muted); font-size:var(--fs-sm); overflow-wrap:anywhere; }
.material-empty { padding:36px 24px; border:1px dashed var(--line); text-align:center; border-radius:6px; background:var(--surface); }
.material-empty h2 { margin:0 0 10px; font-size:var(--fs-md); }
.material-empty p { color:var(--muted); font-size:var(--fs-sm); }
#taskKnowledgeChoices { padding:16px 0; display:flex; flex-wrap:wrap; gap:8px; }
#taskKnowledgeChoices h3 { flex-basis:100%; font-size:var(--fs-md); }
#setup-view .subject-material-section .control-card { border:0; padding:16px 0; background:transparent; }
#questions-view .question-journey, #questions-view .question-origin { display:none; }
#questions-view .library-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; max-width:180px; }
#questions-view .library-actions .library-delete { color:var(--muted); }
#questions-view .library-item > div > p { font-size:var(--fs-base); }
#runProgressSteps, #runProgressCard > .form-help, #runProgressCard .run-progress-next { display:none; }
#visibility-view > .view-lede, #visibility-view #diagnosisFocus { display:none; }
#visibility-view #answerViewer { margin-top:20px; }
#start-view .results-metrics strong { font-size:var(--fs-xl); }
.result-cell span, .result-cell-empty small, .results-answer-table small { font-size:var(--fs-micro); }
#setup-view .knowledge-graph, #geoAssessment { display:none; }
@media(max-width:760px) {
  .diagnosis-heading { align-items:flex-start; gap:16px; }
  .diagnosis-heading-actions { flex-direction:column-reverse; align-items:stretch; gap:8px; }
  .diagnosis-heading-actions .button { white-space:nowrap; }
  .diagnosis-next { padding:18px; flex-direction:column; align-items:flex-start; gap:16px; }
  .diagnosis-next .button { width:100%; }
  .diagnosis-summary { align-items:flex-start; }
  .diagnosis-source { display:none; }
  .diagnosis-summary h2 { font-size:var(--fs-md); }
  .diagnosis-question { gap:12px; }
  .diagnosis-bottom { flex-wrap:wrap; }
  .material-toolbar { flex-wrap:wrap; gap:12px; }
  .material-toolbar label:first-child { flex:1; }
  .material-search { order:3; flex-basis:100%; }
  .material-type { display:none; }
  .material-row { gap:12px; }
  #questions-view .workspace-page-heading { display:block; }
  #questions-view .workspace-page-heading .form-actions { margin-top:16px; }
  #start-view:not(.has-subject) .start-brand-form { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .running-dot { animation:none; } }

.answer-sample > summary { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; cursor: pointer; font-size: var(--fs-sm); color: var(--muted); min-height: 44px; }
.answer-sample > summary strong { color: var(--text); }
.answer-sample > .answer-original { max-height: 26rem; overflow-y: auto; padding: .8rem; background: var(--ink-2); border-radius: 6px; }

.keyword-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; padding:1.2rem 0; border-bottom:1px solid var(--line); }
.keyword-summary span,.keyword-table small {display:block;color:var(--muted);font-size:var(--fs-sm);}
.keyword-summary strong {display:block;font-size:1.7rem;margin-top:.35rem;}
.keyword-toolbar {display:grid;grid-template-columns:2fr 1.3fr 1fr 1fr;gap:.8rem;margin:1rem 0;}
.keyword-toolbar label {min-width:0;}
.keyword-table-wrap {overflow:auto;max-height:520px;margin-top:1rem;}
.keyword-table {width:100%;border-collapse:collapse;text-align:left;font-size:var(--fs-sm);}
.keyword-table td,.keyword-table th {padding:.65rem .5rem;border-bottom:1px solid var(--line);vertical-align:middle;}
.keyword-table th {color:var(--muted);font-weight:500;}
.keyword-table td:nth-child(3) {width:44%;font-size:var(--fs-base);}
.keyword-table small {margin-top:.3rem;}
.keyword-table input[type=checkbox] {width:20px;height:20px;cursor:pointer;}
#keywordSeedForm {display:grid;gap:1rem;}
@media(max-width:700px){.keyword-summary {grid-template-columns:repeat(2,minmax(0,1fr));}.keyword-toolbar {grid-template-columns:1fr 1fr;}.keyword-table {min-width:640px;} .keyword-table td,.keyword-table th {padding:.6rem .4rem;}}

.keyword-basis {margin-top:.5rem;} .keyword-basis summary {cursor:pointer;color:var(--muted);} .keyword-basis blockquote {margin:.6rem 0;padding:.6rem;border-left:2px solid var(--line);} #demandImportForm {display:grid;gap:1rem;}

.report-brief {padding:1.4rem 0;border-block:1px solid var(--line);margin:1.2rem 0;} .report-brief h2 {font-size:1.3rem;margin:.4rem 0;} .report-brief details {font-size:var(--fs-sm);color:var(--muted);} .report-brief summary,.report-answer-group > summary {cursor:pointer;min-height:44px;padding:.65rem 0;} .report-answer-group {border-top:1px solid var(--line);} .report-answer-group > summary small {color:var(--muted);margin-left:.5rem;}

/* Customer report: evidence-backed visual overview. */
.report-charts { grid-template-columns:minmax(190px,.7fr) minmax(0,1.5fr); gap:28px; margin:24px 0; align-items:start; }
.report-charts figure { margin:0; min-width:0; }
.report-charts figcaption { font-size:var(--fs-md); font-weight:650; margin-bottom:16px; }
.report-donut { padding-right:24px; border-right:1px solid var(--line); }
.report-ring-button { display:block; width:180px; max-width:100%; margin:auto; border:0; background:transparent; cursor:pointer; color:var(--text); }
.report-ring-button svg { display:block; width:100%; }
.report-ring-button circle { fill:none; stroke-width:16; }
.ring-track { stroke:var(--line); }
.ring-value { stroke:var(--blue); }
.report-ring-button text { fill:currentColor; font-size:26px; font-weight:650; }
.report-ring-button .ring-caption { font-size:12px; font-weight:400; fill:var(--muted); }
.report-legend { display:flex; gap:16px; justify-content:center; font-size:var(--fs-sm); }
.report-legend i { display:inline-block; width:9px; height:9px; background:var(--blue); margin-right:6px; }
.report-legend i.muted { background:var(--line); }
.report-donut > p { text-align:center; }
.report-chart-axis { display:flex; justify-content:space-between; color:var(--muted); font-size:var(--fs-micro); margin-bottom:8px; }
.report-bar-row { display:grid; grid-template-columns:minmax(0,1fr) 36px; gap:8px 12px; width:100%; padding:12px 0; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.report-bar-label { grid-column:1/-1; font-size:var(--fs-sm); line-height:1.5; }
.report-bar-track,.report-coverage-track { display:block; height:10px; background:var(--line); overflow:hidden; align-self:center; }
.report-bar-track > span,.report-coverage-track > span { display:block; height:100%; background:var(--blue); }
.report-bar-row strong { font-size:var(--fs-sm); text-align:right; }
.report-bar-row:hover .report-bar-label { color:var(--blue); }
.report-coverage { margin:20px 0 12px; }
.report-coverage > div:first-child { display:flex; justify-content:space-between; font-size:var(--fs-sm); margin-bottom:8px; }
.report-raw-answers > summary { cursor:pointer; min-height:44px; padding:12px 0; color:var(--muted); }
@media(max-width:760px){.report-charts {grid-template-columns:1fr;gap:24px;}.report-donut {padding:0 0 20px;border-right:0;border-bottom:1px solid var(--line);}.report-ring-button {width:164px;}}
.report-platform-track { display:block!important; width:100%; min-width:64px; height:6px; background:var(--line); margin-bottom:8px; }
.report-platform-track > span,.report-history-track > span {display:block;height:100%;background:var(--blue);}
.report-history-track {display:block;flex:1;height:10px;background:var(--line);margin:0 16px;}
.results-history-row {gap:12px;}
.report-bar-row::before,.report-bar-row::after,.report-ring-button::before,.report-ring-button::after {content:none!important;}
.report-brief {padding:16px 0;margin:16px 0;}
.report-brief .results-metrics {padding:14px 20px;margin:12px 0;}
.report-brief .results-metrics strong {font-size:var(--fs-xl);}
.report-brief h2 {font-size:var(--fs-lg);}
[data-assessment] > .results-panel {padding:20px;}
[data-assessment] .results-panel-heading {padding:0;margin-bottom:16px;}
.report-bar-row > .control-icon,.report-ring-button > .control-icon {display:none!important;}

.publishing-source-catalog { margin:16px 0 24px; padding:20px; border:1px solid var(--line); background:var(--surface); }
/* 渠道目录走卡片，不再铺一张宽表格。 */
.source-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:12px; }
.source-card { display:grid; grid-template-columns:auto 1fr; gap:4px 14px; padding:14px; border:1px solid var(--line); border-radius:10px; background:color-mix(in oklch,var(--ink-2) 70%,transparent); }
.source-card > div:last-child { grid-column:1 / -1; display:grid; gap:5px; padding-top:10px; border-top:1px dashed var(--line); }
.source-card strong { font-size:var(--fs-md); }
.source-card small { display:block; margin:3px 0; color:var(--muted); font-size:var(--fs-sm); line-height:1.5; }
.source-kind { align-self:start; padding:.22rem .6rem; border-radius:999px; background:color-mix(in oklch,var(--amber) 16%,transparent); color:var(--amber); font-size:var(--fs-micro); font-weight:700; white-space:nowrap; }
.source-price { font-family:var(--font-mono); font-variant-numeric:tabular-nums; color:var(--text); font-size:var(--fs-sm); font-weight:650; }
.integration-status { display:inline-block; width:max-content; padding:.2rem .6rem; border-radius:999px; border:1px solid var(--line); color:var(--muted); font-weight:650; font-size:var(--fs-micro); }
.integration-status.is-ready { color:var(--green); border-color:color-mix(in oklch,var(--green) 54%,var(--line)); }
@media(max-width:760px){.publishing-source-catalog{padding:16px 0;border-inline:0;}.publishing-source-catalog>.section-heading,.publishing-source-catalog>.form-help{padding-inline:16px;}.source-cards{grid-template-columns:1fr;}}

/* ── 视觉语言统一层：数字一律等宽、小控件一律深色胶囊、大标题加重。 ── */
.metric-grid strong, .metric-panel strong, .metric-value-button, .score-ring strong,
.geo-metric-grid strong, .ops-summary dd, .report-outcome-summary dd, .queue-count,
.results-metrics strong, .report-coverage strong, .stage-num, .source-price,
.run-progress-elapsed, .service-result-strip dd, .billing-plan-grid .plan-price {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
}
.config-state, .tag, .status-pill, .asset-status, .opportunity-priority, .verdict,
.diagnosis-tabs button, .content-filters button, .keyword-toolbar select, .keyword-toolbar input,
.library-controls select, .library-controls input, .ledger-controls select, .ledger-controls input,
.comparison-toolbar select, .settings-tabs button, .notify-toggle, .results-filters select {
  border-radius: 999px;
}
.config-state, .tag, .status-pill, .asset-status, .opportunity-priority, .verdict, .integration-status { padding-inline: .6rem; }
.diagnosis-tabs button, .content-filters button, .settings-tabs button { border: 1px solid var(--line); background: color-mix(in oklch, var(--surface) 45%, transparent); }
.diagnosis-tabs button[aria-pressed="true"], .content-filters button[aria-pressed="true"], .settings-tabs button.active { background: var(--surface-2); border-color: color-mix(in oklch, var(--amber) 55%, var(--line)); color: var(--text); }
.keyword-toolbar select, .keyword-toolbar input, .library-controls select, .library-controls input, .ledger-controls select, .ledger-controls input, .comparison-toolbar select, .results-filters select { min-height: 2.25rem; border: 1px solid var(--line); background: var(--ink-2); color: var(--text); padding-inline: .8rem; }
/* 大标题：重字重、紧字距，压住每页左上。 */
.workspace-view h1 { font-weight: 850; letter-spacing: -.045em; }
.workspace-page-heading h1 { font-weight: 850; letter-spacing: -.045em; }
h1 em { color: var(--amber); }

.keyword-import-preview { margin: 16px 0; }
.keyword-import-list { max-height: 360px; overflow: auto; border-top: 1px solid var(--border, #ddd); }
.keyword-import-list > label { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; }
.keyword-import-list input[type="checkbox"] { width: auto; flex: none; margin-top: 4px; }
.keyword-import-list span { min-width: 0; overflow-wrap: anywhere; }
.keyword-import-list small { display: block; color: var(--muted, #666); }
#demandImportEditor form { display: grid; gap: 12px; margin: 16px 0; }
#demandImportHistoryRows { overflow-wrap: anywhere; }

/* Keep entry controls compact after the legacy workspace overrides. */
#start-view .stage-card .start-brand-form { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
body[data-theme="dark"] .stage-card { --stage-tint: color-mix(in srgb, var(--stage-swatch) 14%, var(--surface)); }
@media (max-width: 760px) {
  body[data-design="workspace"] .sidebar { display: block; padding: 12px 16px; }
  body[data-design="workspace"] .project-switcher { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; margin: 12px 0 8px; padding: 0; border: 0; }
  body[data-design="workspace"] .project-label { display: none; }
  body[data-design="workspace"] .subject-switch-label { grid-column: 1; font-size: 0; }
  body[data-design="workspace"] #manageSubjects { font-size: 12px; align-self: end; }
  body[data-design="workspace"] .nav-list { margin-top: 8px; }
  body[data-design="workspace"] .nav-list > .nav-item { flex: 0 0 auto; }
}
@media (max-width: 760px) {
  body[data-design="workspace"] .project-switcher > strong { grid-column: 1; grid-row: 1; }
  body[data-design="workspace"] #openProjects { grid-column: 2; grid-row: 1; }
  body[data-design="workspace"] .subject-switch-label { grid-column: 1; grid-row: 2; }
  body[data-design="workspace"] #manageSubjects { grid-column: 2; grid-row: 2; }
}
/* Service operations: task lists carry the hierarchy; colour only marks attention. */
#serviceHome, #serviceReports { margin-block: 18px; }
#serviceReports > article { grid-column: 1 / -1; }
.service-task-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block: 12px; border-bottom: 1px solid var(--line, #dedbd3); }
.service-task-row > div { min-width: 0; }
.service-task-row strong, .service-request h3 { overflow-wrap: anywhere; font-size: var(--fs-base, 14px); }
.service-task-row p, .service-health, .service-request p { margin-block: 5px; font-size: var(--fs-sm, 13px); }
.service-health > div { display: flex; justify-content: space-between; gap: 12px; padding-block: 8px; }
.service-health dd { margin: 0; font-variant-numeric: tabular-nums; }
.service-task-list { max-height: 420px; overflow-y: auto; }
.service-form { margin-block: 14px; }
.service-form .wide, .service-form .service-feedback { grid-column: 1 / -1; }
.service-feedback[data-tone="error"], .service-attention { color: #934337; }
.service-request { border-bottom: 1px solid var(--line, #dedbd3); padding-block: 16px; }
.service-request blockquote { margin-inline: 0; padding-left: 14px; border-left: 2px solid var(--line, #dedbd3); white-space: pre-wrap; overflow-wrap: anywhere; }
.service-question-picker { max-height: 220px; overflow-y: auto; border: 1px solid var(--line, #dedbd3); }
.service-question-picker label { display: flex; align-items: baseline; gap: 8px; margin-block: 8px; }
.service-question-picker input { width: auto; }
#serviceTaskDetail:not(:empty) { padding-block: 20px; border-top: 1px solid var(--line, #dedbd3); }
@media (max-width: 760px) {
  .service-task-row { align-items: flex-start; flex-direction: column; gap: 8px; }
  .service-task-row button, #serviceSetup button { min-height: 44px; }
  .service-health > div { flex-direction: column; gap: 4px; }
}

.service-answer { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; max-width: 100%; }

/* Product shell v2: token overrides are scoped to the authenticated workspace. */
html:has(body.shell-v2), body.shell-v2 { overflow-x: clip; }
body[data-design="workspace"].shell-v2 {
  --ink: #f1f3f9; --ink-2: #e8ecf6; --surface: #fcfcfe; --surface-2: #f4f6fb;
  --text: #20273d; --muted: #59647b; --muted-dark: #677187; --line: rgba(34,49,88,.12);
  --blue: #3155d9; --blue-light: #3155d9; --accent: #3155d9; --accent-soft: #e9eeff;
  --amber: #3155d9; --green: #187653; --red: #b83936;
  --shell-coral: #bd5437; --shell-shadow: 0 3px 14px rgba(35,51,94,.04);
  --sheen: none; --sheen-strong: none; --depth-1: none;
  background: var(--ink); color: var(--text); font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
}
body[data-design="workspace"].shell-v2 .app-shell { grid-template-columns: 236px minmax(0,1fr); }
body[data-design="workspace"].shell-v2 .sidebar { background: var(--surface); border-right: 1px solid var(--line); padding: 28px 16px 20px; box-shadow: none; overflow-y: auto; }
body[data-design="workspace"].shell-v2 .brand-lockup { padding: 0 12px; }
body[data-design="workspace"].shell-v2 .brand-logo-light { display:block; width:144px; }
body[data-design="workspace"].shell-v2 .brand-logo-dark { display:none; }
body[data-design="workspace"].shell-v2 .project-switcher { margin: 28px 0 20px; padding: 16px 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-2); gap:8px; }
body[data-design="workspace"].shell-v2 .project-label { font-size:12px; color:var(--muted); }
body[data-design="workspace"].shell-v2 .subject-switch-label { font-size:12px; }
body[data-design="workspace"].shell-v2 .nav-list { gap:6px; }
body[data-design="workspace"].shell-v2 .nav-item { border:0; border-radius:12px; min-height:44px; padding:12px; color:var(--muted); font-weight:550; }
body[data-design="workspace"].shell-v2 .nav-item:hover { background:var(--surface-2); color:var(--text); }
body[data-design="workspace"].shell-v2 .nav-item.active { background:var(--accent-soft); color:var(--accent); font-weight:700; box-shadow:none; }
body[data-design="workspace"].shell-v2 .nav-item::before { content:none; }
body[data-design="workspace"].shell-v2 .nav-advanced { margin-top:18px; border-top:1px solid var(--line); padding-top:12px; }
body[data-design="workspace"].shell-v2 .sidebar-footer { gap:16px; padding:16px 12px 0; }
body[data-design="workspace"].shell-v2 .profile-button { color:var(--text); flex-wrap:wrap; line-height:1.6; }
body[data-design="workspace"].shell-v2 .main-area { padding:0 32px 40px; background:var(--ink); }
body[data-design="workspace"].shell-v2 .topbar { min-height:72px; margin:0 -32px 24px; padding:0 32px; border-bottom:1px solid var(--line); background:var(--ink); backdrop-filter:none; box-shadow:none; }
body[data-design="workspace"].shell-v2 .view h1 { font-size:26px; line-height:1.35; letter-spacing:-.035em; margin:0 0 20px; color:var(--text); overflow-wrap:anywhere; }
body[data-design="workspace"].shell-v2 h2 { font-size:18px; letter-spacing:-.02em; line-height:1.45; }
body[data-design="workspace"].shell-v2 .button { border-radius:10px; min-height:40px; padding:8px 16px; font-size:13px; font-weight:650; box-shadow:none; }
body[data-design="workspace"].shell-v2 .button.primary, body[data-design="workspace"].shell-v2 .button.dark-capsule { color:#f9faff; background:var(--accent); border:1px solid var(--accent); border-radius:10px; }
body[data-design="workspace"].shell-v2 .button.primary:hover, body[data-design="workspace"].shell-v2 .button.dark-capsule:hover { background:#2544b8; }
body[data-design="workspace"].shell-v2 .button.secondary { background:var(--surface); border:1px solid var(--line); color:var(--text); }
body[data-design="workspace"].shell-v2 .text-button { color:var(--accent); font-size:13px; }
body[data-design="workspace"].shell-v2 :is(input,select,textarea) { background:var(--surface); color:var(--text); border:1px solid var(--line); border-radius:9px; min-height:40px; }
body[data-design="workspace"].shell-v2 :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
body[data-design="workspace"].shell-v2 :is(.control-card,.content-card,.results-panel,.decision-card,.next-action-card) { border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:var(--shell-shadow); padding:22px; }
body[data-design="workspace"].shell-v2 .geo-two-column { gap:18px; }
body[data-design="workspace"].shell-v2 .more-analysis { background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:0 18px; margin-block:14px; }
body[data-design="workspace"].shell-v2 .more-analysis > summary { padding:16px 0; color:var(--muted); font-size:13px; }
body[data-design="workspace"].shell-v2 .more-analysis[open] { padding-bottom:18px; }
body[data-design="workspace"].shell-v2 .geo-item { border-color:var(--line); }
body[data-design="workspace"].shell-v2 :is(.result-table,.results-answer-table) th { background:var(--surface-2); color:var(--muted); font-weight:600; }
body[data-design="workspace"].shell-v2 :is(.result-table,.results-answer-table) tr:hover td { background:var(--surface-2); }
body[data-design="workspace"].shell-v2 .stage-deck { background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:20px 24px; margin:18px 0; box-shadow:var(--shell-shadow); }
body[data-design="workspace"].shell-v2 .stage-rail { margin-bottom:16px; padding-bottom:12px; gap:20px; border-bottom:1px solid var(--line); }
body[data-design="workspace"].shell-v2 .stage-card { padding:0 0 0 18px; margin:0; background:transparent; border-radius:0; box-shadow:none; }
body[data-design="workspace"].shell-v2 .stage-card::after { display:none; }
body[data-design="workspace"].shell-v2 .stage-kicker { font-size:12px; letter-spacing:0; }
body[data-design="workspace"].shell-v2 .stage-headline { font-size:22px; margin:4px 0; }
body[data-design="workspace"].shell-v2 .stage-metrics { gap:28px; margin:16px 0; }
body[data-design="workspace"].shell-v2 .stage-num { font-size:30px; line-height:1.1; }
body[data-design="workspace"].shell-v2 .stage-card-head { padding:0; }
body[data-design="workspace"].shell-v2 .stage-card-body { padding:0; }
body[data-design="workspace"].shell-v2 .stage-copy { font-size:14px; margin:8px 0; }
body[data-design="workspace"].shell-v2 .stage-deck-side { margin-top:14px; }
body[data-design="workspace"].shell-v2 .stage-note { margin:12px 0 0; }
.shell-page-title { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.shell-sync { color:var(--muted); font-size:12px; white-space:nowrap; }
.shell-sync::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--accent); margin-right:7px; }
.shell-welcome { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); min-height:212px; background:#e9eeff; border-radius:20px; overflow:clip; }
.shell-welcome-copy { padding:28px 32px; position:relative; z-index:1; }
.shell-brand-label { color:#465a98; font-size:12px; font-weight:600; }
body[data-design="workspace"].shell-v2 .shell-welcome h2 { font-size:26px; line-height:1.45; max-width:440px; margin:14px 0 10px; color:#233466; }
.shell-welcome p { color:#4d5e87; font-size:14px; margin:0 0 18px; }
.shell-welcome img { width:100%; height:100%; max-height:264px; object-fit:cover; object-position:70% 60%; align-self:stretch; }
.shell-welcome-link { color:#2544b8; font-size:13px; font-weight:700; display:inline-flex; gap:24px; align-items:center; min-height:28px; }
.shell-job { display:flex; width:100%; align-items:center; text-align:left; gap:14px; padding:16px 4px; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--text); cursor:pointer; }
.shell-job:hover { background:var(--surface-2); }
.shell-job strong { font-size:14px; font-weight:600; }.shell-job small { display:block; margin-top:5px; font-size:12px; color:var(--muted); }
.shell-job-dot { width:8px; height:8px; border-radius:50%; background:var(--muted); flex-shrink:0; }
.shell-job-dot[data-status="running"] { background:var(--accent); }.shell-job-dot[data-status="failed"] { background:var(--red); }.shell-job-dot[data-status="completed"] { background:var(--green); }
.shell-job-state { margin-left:auto; font-size:12px; color:var(--muted); white-space:nowrap; }
.shell-empty { padding:12px 0; }.shell-empty p { font-size:13px; color:var(--muted); margin:8px 0; }
body[data-design="workspace"].shell-v2 .service-task-row { padding:14px 0; }.service-task-row p { line-height:1.65; }
body[data-design="workspace"].shell-v2 :is(.results-metrics,.workspace-pulse) { background:var(--surface); border:1px solid var(--line); border-radius:14px; }
body[data-design="workspace"].shell-v2 dialog { background:var(--surface); color:var(--text); border-radius:20px; border:1px solid var(--line); box-shadow:0 24px 80px rgba(32,39,61,.18); }
@media(min-width:1400px) { body[data-design="workspace"].shell-v2 .main-area { padding-inline:44px; }.shell-welcome-copy { padding-inline:36px; } }
@media(max-width:1000px) {
 body[data-design="workspace"].shell-v2 .app-shell { grid-template-columns:204px minmax(0,1fr); }
 body[data-design="workspace"].shell-v2 .main-area { padding-inline:22px; }
 body[data-design="workspace"].shell-v2 .topbar { margin-inline:-22px; padding-inline:22px; }
 .shell-welcome-copy { padding:24px; } body[data-design="workspace"].shell-v2 .shell-welcome h2 { font-size:22px; }
}
@media(max-width:760px) {
 body[data-design="workspace"].shell-v2 .app-shell { display:block; }
 body[data-design="workspace"].shell-v2 .sidebar { position:relative; height:auto; padding:16px; overflow:visible; }
 body[data-design="workspace"].shell-v2 .brand-lockup { padding:0; }
 body[data-design="workspace"].shell-v2 .project-switcher { margin:14px 0; padding:12px; }
 body[data-design="workspace"].shell-v2 .nav-list { display:flex; overflow-x:auto; gap:4px; padding:2px 0 6px; }
 body[data-design="workspace"].shell-v2 .nav-item { flex:0 0 auto; padding:10px 12px; min-height:44px; white-space:nowrap; }
 body[data-design="workspace"].shell-v2 .nav-advanced { border:0; padding:0; margin:0; }
 body[data-design="workspace"].shell-v2 .main-area { padding:0 16px 28px; }
 body[data-design="workspace"].shell-v2 .topbar { top:0; min-height:64px; margin:0 -16px 18px; padding:10px 16px; flex-wrap:wrap; gap:8px; }
 body[data-design="workspace"].shell-v2 .topbar .breadcrumb { font-size:12px; }
 body[data-design="workspace"].shell-v2 .top-actions { flex-wrap:wrap; gap:8px; }
 body[data-design="workspace"].shell-v2 .view h1 { font-size:22px; }
 .shell-page-title { flex-wrap:wrap; gap:0; margin-bottom:14px; }.shell-sync { padding-bottom:10px; }
 .shell-welcome { grid-template-columns:minmax(0,1fr) 32%; min-height:200px; border-radius:16px; }
 .shell-welcome-copy { padding:20px; }.shell-brand-label { font-size:12px; }
 body[data-design="workspace"].shell-v2 .shell-welcome h2 { font-size:20px; margin-top:10px; }.shell-welcome p { font-size:13px; }
 .shell-welcome img { min-height:100%; max-height:none; object-position:65% center; }
 body[data-design="workspace"].shell-v2 .stage-deck { padding:18px; }
 body[data-design="workspace"].shell-v2 .stage-card { padding-left:12px; }
 body[data-design="workspace"].shell-v2 .stage-num { font-size:26px; }
 body[data-design="workspace"].shell-v2 .stage-rail { gap:12px; }
 body[data-design="workspace"].shell-v2 .geo-two-column { grid-template-columns:minmax(0,1fr); }
 body[data-design="workspace"].shell-v2 :is(.button,.text-button,select,input,summary,.shell-welcome-link) { min-height:44px; }
 body[data-design="workspace"].shell-v2 .button { white-space:nowrap; max-width:100%; }
 .shell-job { flex-wrap:wrap; }.shell-job-state { padding-left:22px; }
}
@media(prefers-reduced-motion:reduce) { body.shell-v2 *, body.shell-v2 *::before, body.shell-v2 *::after { animation:none!important; transition:none!important; } }

body[data-design="workspace"].shell-v2 #start-view { max-width:1120px; }
body[data-design="workspace"].shell-v2 #start-view .stage-card { border:0; border-left:3px solid var(--stage-swatch); gap:12px 28px; }
body[data-design="workspace"].shell-v2 #start-view .stage-card::before { content:none; }
body[data-design="workspace"].shell-v2 #start-view .stage-headline { font-size:24px; line-height:1.3; }
body[data-design="workspace"].shell-v2 #start-view .stage-num { background:transparent; padding:0; min-width:0; font-size:30px; font-variant-numeric:tabular-nums; }
body[data-design="workspace"].shell-v2 #start-view .stage-kicker { background:transparent; padding:0; }
body[data-design="workspace"].shell-v2 #start-view .stage-card-body { border-left:0; padding-left:16px; }
body[data-design="workspace"].shell-v2 .stage-rail-item i { width:7px; height:7px; border-radius:50%; }
@media(max-width:760px) {
 body[data-design="workspace"].shell-v2 .stage-deck { gap:8px; }
 body[data-design="workspace"].shell-v2 .stage-rail { margin-bottom:4px; padding-bottom:8px; }
 body[data-design="workspace"].shell-v2 .stage-deck-side { margin:0; grid-row:3; }
 body[data-design="workspace"].shell-v2 #start-view .stage-card { grid-row:2; }
 body[data-design="workspace"].shell-v2 #start-view .stage-card-body { padding:12px 0 0; }
}

body[data-design="workspace"].shell-v2 #start-view .stage-metrics { margin:8px 0; padding:0; }
body[data-design="workspace"].shell-v2 #startFocusButton { width:max-content; align-self:flex-end; }
body[data-design="workspace"].shell-v2 #start-view .stage-stat { gap:8px; }
@media(max-width:760px) {
 .shell-welcome { min-height:170px; }.shell-welcome-copy { padding:18px; }
 .shell-welcome p { margin-bottom:8px; }
 body[data-design="workspace"].shell-v2 #startFocusButton { align-self:flex-start; }
}
@media(min-width:761px) {
 body[data-design="workspace"].shell-v2 #start-view .stage-card:not(:has(#startBrandForm:not([hidden]))) { grid-template-rows:auto auto; align-items:center; }
 body[data-design="workspace"].shell-v2 #start-view .stage-card:not(:has(#startBrandForm:not([hidden]))) .stage-metrics { grid-column:2; grid-row:1; justify-content:flex-end; }
 body[data-design="workspace"].shell-v2 #start-view .stage-card:not(:has(#startBrandForm:not([hidden]))) .stage-card-body { grid-column:2; grid-row:2; align-items:flex-end; }
 body[data-design="workspace"].shell-v2 #start-view .stage-card:not(:has(#startBrandForm:not([hidden]))) .stage-copy { grid-column:1; grid-row:2; }
}

/* Operator workbench: choose materials, inspect output, commit a draft. */
.operator-launch {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;margin:16px 0;border-radius:18px;background:#e8edfc;color:#243458;flex-wrap:wrap}
.operator-launch span {display:block;font-size:13px;margin-top:5px;color:#53617d}
.operator-tabs {display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.operator-tabs button {min-height:44px;border:1px solid #d5ddf1;border-radius:10px;background:#f5f7ff;color:#344260;padding:10px 16px;cursor:pointer;white-space:nowrap}
.operator-tabs button[aria-pressed=true] {background:#3155d9;color:#f9faff;border-color:#3155d9}
.operator-columns {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
.operator-inputs {display:grid;gap:16px;min-width:0}
.operator-picker {max-height:300px;overflow:auto;display:grid;gap:10px}
.operator-picker label {display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:10px;background:#f0f3fc;line-height:1.5;min-height:44px}
.operator-picker input[type=checkbox] {width:18px;min-width:18px;height:18px;margin-top:3px}
.operator-picker small {display:block;color:#53617d;overflow-wrap:anywhere}
#operatorWorkbench fieldset {min-width:0;border:1px solid #d9dfed;border-radius:12px;padding:14px}
#operatorWorkbench legend {font-size:13px;font-weight:600;padding:0 6px}
#operatorPreview {white-space:pre-wrap;overflow-wrap:anywhere;max-height:410px;overflow:auto;background:#f0f3fa;border:1px solid #d9dfed;border-radius:12px;padding:18px;line-height:1.7;font:13px/1.7 ui-monospace,monospace;min-height:200px}
.operator-plan-list {display:grid;gap:14px;margin:16px 0;max-height:620px;overflow:auto}
.operator-guidance {padding:14px 0;border-bottom:1px solid #d9dfed}
.operator-guidance small {display:block;color:#53617d}
#operatorFeedback[data-tone=error] {color:#a92a3b}
#operatorFeedback[data-tone=ok] {color:#236448}
#operatorWorkbench [hidden],.operator-launch[hidden] {display:none!important}
@media(max-width:768px){.operator-columns{grid-template-columns:minmax(0,1fr)}.operator-launch{padding:16px}.operator-launch .form-actions{gap:8px}.operator-tabs button{padding:10px 12px}.operator-plan-list{max-height:none}}

/* Dense question libraries: compact coverage groups and one clear next action. */
.coverage-groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; max-height:300px; overflow:auto; padding:4px; }
.coverage-group { display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:12px; background:transparent; border:1px solid var(--border, #d9d9d2); border-radius:8px; text-align:left; color:inherit; cursor:pointer; }
.coverage-group[aria-pressed="true"] { border-color:currentColor; background:rgba(100,110,90,.08); }
.coverage-group small { opacity:.7; }
.answer-priority { border-left:3px solid #53604c; padding:12px 16px; margin:16px 0; background:rgba(100,110,90,.05); }
.answer-priority p { margin:8px 0; line-height:1.6; }
#keywordSelectionMeta { flex-basis:100%; line-height:1.6; }

.observation-screenshot { display:block; max-width:100%; height:auto; margin:16px auto; border:1px solid #ddd; }

.collection-questions { max-height:240px; overflow:auto; display:grid; gap:8px; }
#collectionPanel fieldset label { display:flex; align-items:center; gap:8px; padding:6px; }
#collectionPanel input[type="checkbox"] { width:18px; height:18px; }
#collectionTasks { max-height:500px; overflow:auto; }
