:root {
  font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
  --app-paper: #ffffff;
  --app-surface: #ffffff;
  --app-surface-soft: #f6f7f4;
  --app-sidebar: #f4f5f1;
  --app-ink: #25342b;
  --app-muted: #6f7c70;
  --app-green: #295d41;
  --app-green-soft: #e5eedf;
  --brand-accent: #2f7250;
  --app-line: #e0e5da;
  --app-line-strong: #cdd7c8;
  color: var(--app-ink);
  background: var(--app-paper);
  font-size: 16px;
  line-height: 1.7;
  font-synthesis: none;
}
html[data-theme="light"] {
  --app-paper: #f4f2eb;
  --app-surface: #fffdf8;
  --app-surface-soft: #efeee7;
  --app-sidebar: #ebece5;
  --app-line: #d9ded4;
  --app-line-strong: #c8d1c4;
}
html[data-theme="dark"] {
  --app-paper: #18211d;
  --app-surface: #202b25;
  --app-surface-soft: #26332c;
  --app-sidebar: #141c18;
  --app-ink: #e8eee9;
  --app-muted: #aab7af;
  --app-green: #71a382;
  --app-green-soft: #2b4034;
  --brand-accent: #8fc4a0;
  --app-line: #34433a;
  --app-line-strong: #45564b;
}
.run-monitor {
  padding: 0;
  background: #eaf1e8;
  border-radius: 12px;
  margin-bottom: 18px;
  border: 1px solid #d4dfcf;
}
.run-monitor > summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 11px 16px;
}
.run-monitor > p,
.run-monitor > button {
  margin-left: 16px;
  margin-right: 16px;
}
.run-monitor > button {
  margin-bottom: 16px;
}
.run-monitor.log-monitor {
  padding: 14px 18px;
}
.run-monitor p {
  margin: 6px 0;
  overflow-wrap: anywhere;
}
.live-log-list {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}
.log-entry {
  background: white;
  border: 1px solid #d3dccd;
  border-left: 4px solid #477359;
  padding: 16px;
  border-radius: 8px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.log-error {
  border-left-color: #a83131;
  background: #fff6f4;
}
.log-warning {
  border-left-color: #a47720;
}
.log-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
}
.log-entry pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-height: 440px;
  overflow: auto;
  font-size: 13px;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  color: var(--app-ink);
  background: var(--app-paper);
}
button,
input,
textarea,
select {
  font: inherit;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
  border: 1px solid var(--app-line-strong);
  background: var(--app-surface);
  color: var(--app-ink);
  border-radius: 9px;
  min-height: 44px;
  padding: 9px 15px;
}
button:hover {
  background: #eef3e9;
}
button.primary,
a.primary {
  background: #295d41;
  color: #fff;
  border-color: #295d41;
}
.action-link {
  display: inline-flex;
  min-height: 44px;
  padding: 9px 15px;
  border: 1px solid #295d41;
  border-radius: 9px;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  margin-bottom: 16px;
}
.opportunity-quota {
  margin: 20px 0;
}
.opportunity-reading-progress {
  position: sticky;
  top: 82px;
  z-index: 10;
  width: 6px;
  height: min(68vh, 560px);
  margin-top: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfe6da;
}
.opportunity-reading-progress-fill {
  display: block;
  width: 100%;
  height: 0;
  border-radius: inherit;
  background: #295d41;
  transition: height 100ms linear;
}
.opportunity-list-with-progress {
  align-items: start;
  display: grid;
  gap: 12px;
  grid-template-columns: 6px minmax(0, 1fr);
}
.opportunity-card-list {
  min-width: 0;
}
.quota-heading,
.quota-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
  gap: 18px;
  align-items: center;
}
.quota-heading progress {
  width: 100%;
  height: 16px;
  accent-color: #295d41;
}
.quota-controls label {
  margin: 0;
}
.quota-offer {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #d3dccd;
}
button:disabled {
  opacity: 0.5;
  cursor: wait;
}
a {
  color: #276750;
  overflow-wrap: anywhere;
}
h1,
h2,
h3,
p {
  margin: 0 0 14px;
}
h1 {
  font-size: 29px;
  line-height: 1.45;
}
h2 {
  font-size: 21px;
}
h3 {
  font-size: 17px;
}
small,
.muted {
  color: var(--app-muted);
  font-size: 14px;
}
input,
textarea,
select {
  width: 100%;
  border: 1px solid var(--app-line-strong);
  border-radius: 8px;
  background: var(--app-surface);
  padding: 11px;
  color: #223a2a;
}
textarea {
  resize: vertical;
  min-height: 105px;
}
label {
  display: block;
  margin: 12px 0;
}
label.inline {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14px;
}
label.inline input {
  width: 18px;
  margin-top: 7px;
}
pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #f1f4ee;
  padding: 16px;
  border-radius: 8px;
  font-size: 13px;
}
blockquote {
  margin: 10px 0;
  padding: 10px 14px;
  background: #f2f5ee;
  border-left: 3px solid #9fb39b;
  white-space: pre-wrap;
}
.evidence-list {
  display: grid;
  gap: 10px;
  margin: 16px 0 24px;
}
.fact-card {
  border: 1px solid #d3dccd;
  border-radius: 9px;
  padding: 13px;
  background: #fbfcf8;
}
.fact-card > strong,
.fact-card > span {
  margin-right: 9px;
}
.fact-status {
  color: #276750;
  font-size: 14px;
}
.shell {
  display: grid;
  grid-template-columns: 215px minmax(0, 1fr);
  min-height: 100vh;
  background: var(--app-paper);
}
.sidebar {
  padding: 30px 22px;
  border-right: 1px solid var(--app-line);
  background: var(--app-sidebar);
  display: flex;
  flex-direction: column;
}
.brand {
  font-size: 24px;
  letter-spacing: 2px;
  font-weight: 650;
  display: block;
  line-height: 1.35;
  white-space: nowrap;
}
.brand-wordmark {
  white-space: nowrap;
}
.brand-initial {
  color: var(--brand-accent);
}
.brand-rest {
  color: inherit;
}
.official-nav-actions,
.login-page-nav-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}
.public-theme-control {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.public-theme-trigger {
  min-height: 36px;
  padding: 7px 10px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--app-line-strong);
  border-radius: 8px;
  color: var(--app-ink);
  background: var(--app-surface);
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}
.public-theme-trigger:hover,
.public-theme-control.is-open .public-theme-trigger {
  border-color: var(--app-green);
  background: var(--app-surface-soft);
}
.public-theme-trigger-label {
  color: var(--app-muted);
}
.public-theme-trigger-current {
  font-weight: 650;
}
.public-theme-chevron {
  color: var(--app-muted);
  font-size: 15px;
  transition: transform 140ms ease;
}
.public-theme-control.is-open .public-theme-chevron {
  transform: rotate(180deg);
}
.public-theme-menu {
  position: absolute;
  z-index: 40;
  top: calc(100% + 8px);
  right: 0;
  width: 164px;
  padding: 6px;
  border: 1px solid var(--app-line-strong);
  border-radius: 9px;
  background: var(--app-surface);
  box-shadow: 0 14px 36px rgba(14, 28, 20, 0.14);
}
.public-theme-menu[hidden] {
  display: none;
}
.public-theme-option {
  width: 100%;
  min-height: 38px;
  padding: 7px 9px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  border: 0;
  border-radius: 6px;
  color: var(--app-muted);
  background: transparent;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}
.public-theme-option:hover {
  color: var(--app-ink);
  background: var(--app-surface);
}
.public-theme-option.selected,
html[data-theme="white"] [data-public-theme="white"],
html[data-theme="light"] [data-public-theme="light"],
html[data-theme="dark"] [data-public-theme="dark"] {
  color: var(--app-ink);
  background: var(--app-surface);
  box-shadow: 0 0 0 1px var(--app-line-strong);
}
.public-theme-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border: 1px solid #9eaaa1;
  border-radius: 50%;
}
.public-theme-dot-white { background: #fff; }
.public-theme-dot-light { background: #e8e4da; }
.public-theme-dot-dark { background: #18211d; }
.public-theme-check {
  margin-left: auto;
  color: var(--app-green);
  font-weight: 700;
  opacity: 0;
}
.public-theme-option.selected .public-theme-check {
  opacity: 1;
}
.brand-lockup {
  display: grid;
  gap: 2px;
}
.brand-positioning {
  color: #435448;
  font-size: 14px;
  font-weight: 600;
}
.brand-slogan {
  color: #6f7c70;
  font-size: 12px;
}
.sidebar nav {
  display: grid;
  gap: 8px;
  margin: 36px 0;
}
.sidebar nav button {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 8px 10px;
  text-align: left;
  background: none;
  border-color: transparent;
}
.sidebar nav button.selected {
  background: var(--app-green-soft);
  color: var(--app-green);
}
.sidebar-step-number {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid var(--app-line-strong);
  border-radius: 50%;
  color: var(--app-muted);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}
.sidebar nav button.selected .sidebar-step-number {
  border-color: var(--app-green);
  color: #fff;
  background: var(--app-green);
}
.sidebar-step-label {
  min-width: 0;
  font-weight: 650;
}
.sidebar-account {
  position: relative;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--app-line);
}
.sidebar-account-trigger {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 8px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  border-color: transparent;
  background: transparent;
  color: var(--app-ink);
  text-align: left;
}
.sidebar-account-trigger:hover,
.sidebar-account-trigger.selected,
.sidebar-account.is-open .sidebar-account-trigger {
  background: var(--app-surface-soft);
  color: var(--app-green);
}
.sidebar-account-avatar {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  color: #fff;
  background: var(--app-green);
  font-size: 14px;
  font-weight: 750;
}
.sidebar-account-trigger-copy {
  display: grid;
  min-width: 0;
  gap: 1px;
}
.sidebar-account-trigger-copy strong {
  overflow: hidden;
  font-size: 13px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar-account-trigger-copy small {
  overflow: hidden;
  color: var(--app-muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar-account-chevron {
  color: var(--app-muted);
  font-size: 13px;
}
.sidebar-account-menu {
  position: absolute;
  z-index: 60;
  left: 0;
  bottom: calc(100% + 8px);
  width: min(284px, calc(100vw - 32px));
  padding: 8px;
  border: 1px solid var(--app-line-strong);
  border-radius: 12px;
  background: var(--app-surface);
  box-shadow: 0 18px 44px rgba(17, 35, 24, 0.16);
}
.sidebar-account-menu-heading {
  display: grid;
  gap: 2px;
  padding: 8px 10px 10px;
}
.sidebar-account-menu-heading strong {
  font-size: 13px;
}
.sidebar-account-menu-heading small {
  color: var(--app-muted);
  font-size: 11px;
}
.sidebar-account-menu-item {
  width: 100%;
  min-height: 38px;
  padding: 7px 10px;
  border-color: transparent;
  background: transparent;
  color: var(--app-ink);
  font-size: 13px;
  text-align: left;
}
.sidebar-account-menu-item:hover,
.sidebar-account-menu-item.selected {
  background: var(--app-surface-soft);
  color: var(--app-green);
}
.sidebar-account-menu-item.danger {
  color: #7a4d42;
}
.sidebar-account-menu-divider {
  height: 1px;
  margin: 6px 4px;
  background: var(--app-line);
}
.sidebar-account-menu-quota {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  color: var(--app-muted);
  font-size: 12px;
}
.sidebar-account-menu-quota strong {
  color: var(--app-ink);
  font-size: 12px;
  font-weight: 650;
}
.sidebar-account-menu-quota[data-account-quota="unavailable"] strong {
  color: #8a6b3e;
}
.account-page {
  display: grid;
  gap: 18px;
  max-width: 860px;
  margin: 0 auto;
}
.account-page-heading,
.account-section-heading,
.account-row,
.account-verification-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.account-page-heading h1,
.account-section h2 {
  margin: 0;
}
.account-section {
  display: grid;
  gap: 16px;
}
.account-identity-list,
.account-session-list {
  display: grid;
  border-top: 1px solid #e1e7de;
}
.account-row {
  min-height: 62px;
  padding: 12px 0;
  border-bottom: 1px solid #e1e7de;
}
.account-row > div {
  display: grid;
  gap: 3px;
}
.account-row .account-row-actions {
  display: flex;
  grid-auto-flow: column;
  align-items: center;
  gap: 8px;
}
.account-row small {
  display: block;
}
.account-reauth > summary {
  color: #2d6242;
  font-weight: 650;
}
.account-reauth-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  padding-top: 14px;
}
.account-reauth-form label {
  display: grid;
  gap: 6px;
}
.account-section-actions,
.account-data-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.appearance-section {
  gap: 12px;
}
.theme-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.theme-option {
  min-height: 72px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  color: var(--app-ink);
  background: var(--app-surface);
  text-align: left;
}
.theme-option.selected {
  border-color: var(--app-green);
  box-shadow: inset 0 0 0 1px var(--app-green);
}
.theme-swatch {
  width: 34px;
  height: 34px;
  display: block;
  border: 1px solid #cbd3c9;
  border-radius: 50%;
}
.theme-swatch-white {
  background: #fff;
}
.theme-swatch-light {
  background: #f4f2eb;
}
.theme-swatch-dark {
  border-color: #38483f;
  background: #18211d;
}
.account-page .danger-zone {
  padding-top: 14px;
  border-top: 1px solid #eaded8;
}
.main {
  padding: 30px 40px;
  max-width: 1100px;
  min-width: 0;
  width: 100%;
  margin: 0 auto;
  background: var(--app-paper);
}
.main-together,
.main-opportunities {
  max-width: 1440px;
  padding: 28px 34px;
}
.main-preparation {
  max-width: 1640px;
  padding: 24px 30px 42px;
}
.aside {
  padding: 32px 24px;
  border-left: 1px solid #e0e5da;
  background: #fbfcf8;
}
.top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 25px;
}
.pill {
  display: inline-block;
  font-size: 12px;
  color: #376b44;
  background: var(--app-green-soft);
  border-radius: 30px;
  padding: 3px 10px;
  margin-bottom: 10px;
}
.card {
  border: 1px solid var(--app-line);
  background: var(--app-surface);
  border-radius: 14px;
  padding: 23px;
  margin: 18px 0;
  overflow-wrap: anywhere;
}
.card.accent {
  background: #edf4e8;
  border-color: #cfdcc6;
}
.workspace-card {
  margin: 20px 0;
  padding: 18px;
  border: 1px solid #cad8c5;
  border-radius: 12px;
  background: #f7faf5;
}
.workspace-card h4 {
  margin-top: 0;
}
.workspace-card > h2 {
  margin-top: 0;
}
.preparation-workspace-layout {
  align-items: start;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.7fr);
}
.preparation-overview,
.preparation-detail {
  min-width: 0;
}
.preparation-overview > h2,
.preparation-detail-heading {
  margin: 0 0 12px;
}
.preparation-overview-list {
  display: grid;
  gap: 12px;
}
.preparation-overview-card {
  background: #fff;
  border: 1px solid #d9e1d4;
  border-radius: 12px;
  padding: 16px;
}
.preparation-overview-card.selected {
  border-color: #527d5d;
  box-shadow: 0 0 0 2px rgba(82, 125, 93, 0.12);
}
.preparation-overview-heading {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.preparation-overview-heading h3,
.preparation-overview-card h4,
.preparation-overview-heading p {
  margin: 0;
}
.preparation-overview-card h4 {
  font-size: 13px;
  margin-top: 13px;
}
.preparation-match-summary {
  display: -webkit-box;
  margin: 5px 0 12px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.preparation-status-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.preparation-status {
  background: #eef3e9;
  border-radius: 999px;
  color: #49604f;
  font-size: 12px;
  padding: 3px 8px;
}
.preparation-next-plan {
  border-left: 3px solid #76927b;
  margin: 13px 0;
  padding-left: 10px;
}
.preparation-overview-card button {
  width: 100%;
}
.preparation-current-indicator {
  color: #376b44;
  display: block;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}
.preparation-history {
  margin-top: 16px;
}
.preparation-history > summary {
  font-weight: 600;
  margin-bottom: 12px;
}
.preparation-detail .workspace-card {
  margin-top: 0;
}
.preparation-progress {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #e3e8df;
  margin-top: 14px;
}
.preparation-progress-fill {
  height: 100%;
  border-radius: inherit;
  background: #527d5d;
  transition: width 180ms ease;
}
.preparation-progress-fill.progress-0 { width: 0; }
.preparation-progress-fill.progress-1 { width: 25%; }
.preparation-progress-fill.progress-2 { width: 50%; }
.preparation-progress-fill.progress-3 { width: 75%; }
.preparation-progress-fill.progress-4 { width: 100%; }
.preparation-progress-label {
  margin-top: 7px;
}
.preparation-step {
  border-top: 1px solid #dce4d8;
  padding: 18px 0 4px;
  margin-top: 14px;
}
.preparation-step h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.preparation-page {
  min-width: 0;
}
.preparation-stage-tabs {
  background: transparent;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 12px;
  overflow: visible;
}
.preparation-stage-tab {
  align-items: center;
  background: #fff;
  border: 1px solid #d9e1d4;
  border-radius: 12px;
  display: grid;
  gap: 8px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 58px;
  padding: 8px 14px;
  position: relative;
  text-align: left;
}
.preparation-stage-tab:not(:last-child)::after {
  border-right: 2px solid #738177;
  border-top: 2px solid #738177;
  content: "";
  height: 8px;
  pointer-events: none;
  position: absolute;
  right: -12px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  z-index: 1;
}
.preparation-stage-tab.selected {
  background: #2c6a4a;
  border-color: #2c6a4a;
  color: #fff;
  box-shadow: none;
}
.preparation-stage-number,
.preparation-stage-count {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
}
.preparation-stage-number {
  background: #e7eee3;
  color: #486050;
  font-size: 12px;
  height: 24px;
  width: 24px;
}
.preparation-stage-tab.selected .preparation-stage-number {
  background: #fff;
  color: #2c6a4a;
}
.preparation-stage-copy {
  display: flex;
  flex-direction: column;
  line-height: 1.35;
  min-width: 0;
}
.preparation-stage-copy strong {
  font-size: 14px;
}
.preparation-stage-copy small {
  color: #718077;
  font-size: 11px;
  margin-top: 1px;
}
.preparation-stage-tab.selected .preparation-stage-copy small {
  color: #e2eee6;
}
.preparation-stage-count {
  background: #eff3eb;
  color: #365743;
  font-size: 12px;
  font-weight: 700;
  height: 24px;
  min-width: 24px;
  padding: 0 7px;
}
.preparation-stage-tab.selected .preparation-stage-count {
  background: #fff;
  color: #2c6a4a;
}
.preparation-import-row {
  display: flex;
  justify-content: flex-end;
  margin: 10px 0 14px;
}
.preparation-import-row .manual-import {
  margin: 0;
  max-width: 760px;
  padding: 0;
  width: auto;
}
.preparation-import-row .manual-import > summary {
  padding: 7px 12px;
}
.preparation-import-row .manual-import[open] {
  padding: 0 16px 16px;
  width: min(760px, 100%);
}
.preparation-stage-layout {
  align-items: start;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(190px, 210px) minmax(0, 1fr);
}
.preparation-stage-sidebar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: calc(100vh - 210px);
  max-height: calc(100vh - 210px);
  min-width: 0;
  position: sticky;
  top: 18px;
}
.preparation-stage-queue {
  background: #f3f6ef;
  border: 1px solid #d9e1d4;
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  max-height: none;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  padding: 12px;
  position: static;
}
.preparation-queue-search {
  background: #fff;
  margin: 0 0 10px;
  width: 100%;
}
.preparation-queue-filters {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.preparation-queue-filters button {
  background: transparent;
  border-radius: 999px;
  font-size: 12px;
  margin: 0;
  padding: 6px 13px;
}
.preparation-queue-filters button.selected {
  background: #e4f0e3;
  border-color: #c5d9c3;
  color: #245d40;
}
.preparation-queue-list {
  align-content: start;
  display: grid;
  flex: 1 1 auto;
  gap: 9px;
  grid-auto-rows: max-content;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}
.preparation-queue-empty {
  flex: 1 1 auto;
}
.preparation-queue-item {
  position: relative;
}
.preparation-queue-item .preparation-queue-card {
  padding-right: 40px;
}
.preparation-queue-remove {
  align-items: center;
  background: var(--app-surface);
  border: 0;
  border-radius: 6px;
  color: var(--app-muted);
  display: inline-flex;
  height: 28px;
  justify-content: center;
  min-height: 0;
  opacity: 0;
  padding: 5px;
  position: absolute;
  right: 6px;
  top: 7px;
  width: 28px;
}
.preparation-queue-remove svg {
  height: 18px;
  width: 18px;
}
.preparation-queue-item:hover .preparation-queue-remove,
.preparation-queue-item:focus-within .preparation-queue-remove {
  opacity: 1;
}
@media (hover: none) {
  .preparation-queue-remove {
    opacity: 1;
  }
}
.preparation-queue-card {
  align-items: flex-start;
  background: #fff;
  border: 1px solid #d9e1d4;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-height: 0;
  padding: 13px 14px;
  text-align: left;
  width: 100%;
}
.preparation-queue-card.selected {
  background: #eaf2e6;
  border-color: #477359;
  box-shadow: 0 0 0 2px rgba(71, 115, 89, 0.11);
}
.preparation-queue-card strong {
  color: #25342b;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}
.preparation-queue-card small {
  color: #718077;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}
.preparation-queue-card .preparation-queue-meta {
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 4px;
}
.preparation-queue-company {
  color: #315b42;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}
.preparation-queue-status {
  background: #eef2ea;
  border-radius: 999px;
  color: #536159;
  display: inline-flex;
  font-size: 11px;
  margin-top: 6px;
  padding: 2px 9px;
  white-space: nowrap;
}
.preparation-queue-status.pending {
  background: #f7edcf;
  color: #76551e;
}
.preparation-queue-empty {
  margin: 12px 4px;
}
.preparation-stage-content {
  min-width: 0;
}
.preparation-stage-panel {
  background: #fff;
  border: 1px solid #d9e1d4;
  border-radius: 14px;
  min-width: 0;
  padding: 16px;
}
.resume-stage-workspace-panel {
  background: transparent;
  border: 0;
  padding: 0;
}
.preparation-workspace-header {
  align-items: flex-start;
  border-bottom: 1px solid #e1e7dd;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 14px;
  padding-bottom: 12px;
  position: relative;
}
.preparation-workspace-header h2,
.preparation-workspace-header p {
  margin: 0;
}
.preparation-workspace-header h2 {
  font-size: 22px;
  line-height: 1.45;
}
.preparation-workspace-header-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}
.preparation-header-details,
.resume-version-inline-details {
  margin: 0;
  position: relative;
}
.preparation-header-details > summary,
.resume-version-inline-details > summary {
  background: #f8faf6;
  border: 1px solid #ced9ca;
  border-radius: 999px;
  color: #315b42;
  cursor: pointer;
  font-size: 13px;
  list-style: none;
  padding: 7px 14px;
  white-space: nowrap;
}
.preparation-header-details > summary::-webkit-details-marker,
.resume-version-inline-details > summary::-webkit-details-marker {
  display: none;
}
.preparation-job-popover,
.preparation-version-popover,
.resume-version-compare-popover {
  background: #fff;
  border: 1px solid #cfd9ca;
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(40, 67, 49, 0.16);
  max-height: min(62vh, 620px);
  overflow: auto;
  padding: 16px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: min(520px, 75vw);
  z-index: 30;
}
.preparation-job-popover h4 {
  margin: 14px 0 6px;
}
.preparation-job-popover p {
  margin: 6px 0;
}
.preparation-version-popover {
  padding: 0;
  width: min(640px, 78vw);
}
.preparation-version-popover .workspace-resume-versions,
.resume-version-compare-popover .workspace-resume-version-diff {
  border: 0;
  box-shadow: none;
  margin: 0;
}
.resume-version-compare-popover {
  width: min(640px, 76vw);
}
.preparation-context {
  background: #f5f7f2;
  border-radius: 10px;
  margin-bottom: 14px;
  padding: 12px 14px;
}
.preparation-context > p {
  margin: 0 0 4px;
}
.preparation-context-details {
  margin-top: 7px;
}
.preparation-context-details > summary {
  color: #376b44;
  font-size: 13px;
}
.preparation-stage-empty {
  align-items: flex-start;
  background: #f7f9f5;
  border: 1px dashed #cbd7c6;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  margin-top: 14px;
  padding: 18px;
}
.preparation-stage-empty p {
  margin-top: 0;
}
.preparation-stage-empty-page {
  min-height: 260px;
  justify-content: center;
}
.resume-workbench-summary {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 12px;
}
.resume-insight-strip {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 10px;
}
.resume-insight-line {
  align-items: center;
  background: #f4f7f1;
  border: 1px solid #d9e2d4;
  border-radius: 10px;
  display: flex;
  gap: 10px;
  min-width: 0;
  padding: 9px 12px;
}
.resume-insight-line > strong {
  color: #315b42;
  flex: 0 0 auto;
  font-size: 13px;
}
.resume-insight-line > p {
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
}
.resume-optimization-insights {
  align-items: flex-start;
}
.resume-optimization-insights > p {
  display: block;
}
.preparation-queue-import {
  flex: 0 0 auto;
  min-height: 50px;
  position: relative;
}
.preparation-queue-import .manual-import {
  margin: 0;
  padding: 0;
  width: 100%;
}
.preparation-queue-import .manual-import > summary {
  padding: 10px 12px;
}
.preparation-queue-import .manual-import[open] {
  bottom: 0;
  box-shadow: 0 18px 46px rgba(28, 54, 38, 0.18);
  left: 0;
  max-height: min(70vh, 620px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 16px 16px;
  position: absolute;
  width: min(520px, calc(100vw - 48px));
  z-index: 30;
}
.preparation-queue-import .manual-import[open] > summary {
  background: var(--app-surface, #fff);
  margin: 0 -16px 12px;
  padding: 12px 16px;
  position: sticky;
  top: 0;
  z-index: 1;
}
.resume-workbench-summary .workspace-stage {
  flex-basis: 100%;
}
.resume-diagnosis-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.resume-diagnosis-item {
  background: #f7f9f5;
  border: 1px solid #dce4d8;
  border-radius: 10px;
  padding: 12px;
}
.resume-diagnosis-item > strong {
  margin-right: 8px;
}
.resume-diagnosis-item > div {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}
.resume-diagnosis-item small {
  display: block;
  line-height: 1.45;
}
.resume-diagnosis-item .pill {
  margin: 0;
}
.resume-diagnosis-item p {
  margin: 7px 0 0;
}
.preparation-stage-actions {
  justify-content: flex-end;
}
.stage-workbench {
  padding: 0;
  overflow: hidden;
}
.stage-workbench .preparation-workspace-header {
  margin: 0;
  padding: 18px 20px;
}
.stage-workbench .preparation-workspace-header h2 {
  font-size: 19px;
}
.stage-workbench .preparation-workspace-header .preparation-queue-status {
  margin: 0;
}
.preparation-stage-metrics {
  background: #f7f9f5;
  border-bottom: 1px solid #e1e7dd;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0 20px;
}
.preparation-stage-metric {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding: 13px 18px 13px 0;
}
.preparation-stage-metric + .preparation-stage-metric {
  border-left: 1px solid #dfe6db;
  padding-left: 18px;
}
.preparation-stage-metric span {
  color: #768078;
  font-size: 11px;
}
.preparation-stage-metric strong {
  color: #34453a;
  font-size: 13px;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.preparation-stage-metric.ready strong {
  color: #276447;
}
.preparation-stage-metric.working strong {
  color: #426a54;
}
.preparation-stage-metric.error strong,
.stage-action-error {
  color: #8a4d35;
}
.application-material-grid,
.interview-preparation-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 18px 20px;
}
.preparation-practice-feedback {
  grid-column: 1 / -1;
  min-width: 0;
}
.preparation-feature-concept {
  padding: clamp(20px, 3vw, 40px);
}
.preparation-concept-heading {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.preparation-concept-heading h2 {
  margin: 0;
}
.preparation-concept-opportunity,
.preparation-interest-status {
  color: #677869;
  font-size: 13px;
}
.preparation-concept-intro {
  color: #526457;
  line-height: 1.7;
  max-width: 44em;
}
.preparation-concept-ideas {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  margin: 24px 0;
}
.preparation-concept-ideas article {
  background: #f6f8f3;
  border: 1px solid #dfe7dc;
  border-radius: 12px;
  padding: 18px;
}
.preparation-concept-ideas h3 {
  font-size: 15px;
  margin: 0 0 8px;
}
.preparation-interest-details {
  margin-top: 24px;
}
.preparation-interest-scopes {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 16px 0;
}
.preparation-interest-scopes label {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}
.preparation-interest-scopes input {
  width: auto;
}
.preparation-interest-details textarea {
  display: block;
  margin-bottom: 12px;
}
.preparation-practice-feedback > :is(.practice-process, .preparation-ability-report) {
  margin-top: 12px;
}
.practice-review-question {
  color: #426a54;
  font-weight: 600;
}
.practice-review-exercise {
  border-left: 2px solid #91ac95;
  margin-top: 10px;
  padding-left: 10px;
}
.stage-workbench-section {
  background: #fff;
  border: 1px solid #dfe6db;
  border-radius: 12px;
  min-width: 0;
  padding: 15px;
}
.stage-workbench-section h3,
.stage-workbench-section p {
  margin: 0;
}
.stage-workbench-section h3 {
  color: #28382f;
  font-size: 15px;
  margin-bottom: 12px;
}
.application-checklist,
.application-field-list {
  display: grid;
  gap: 8px;
}
.application-material-grid {
  align-items: stretch;
  min-height: 0;
  overflow: hidden;
}
.stage-workbench[data-stage-workbench="application"] {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto auto;
  height: calc(100dvh - 132px);
  max-height: calc(100dvh - 132px);
  min-height: min(560px, calc(100dvh - 132px));
  overflow: hidden;
}
.application-material-grid .stage-workbench-section {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.application-material-grid .application-checklist,
.application-material-grid .application-field-list {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
  scrollbar-gutter: stable;
}
.application-material-grid .application-field-list {
  flex: 1;
}
.application-material-grid .application-checklist:focus-visible,
.application-material-grid .application-field-list:focus-visible {
  border-radius: 8px;
  outline: 2px solid #6e9a7d;
  outline-offset: 3px;
}
.application-check-item {
  align-items: flex-start;
  display: grid;
  gap: 9px;
  grid-template-columns: 22px minmax(0, 1fr);
}
.application-check-mark {
  align-items: center;
  background: #edf3ea;
  border-radius: 50%;
  color: #2f6849;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  height: 22px;
  justify-content: center;
  width: 22px;
}
.application-check-item[data-status="missing"] .application-check-mark {
  background: #f7edcf;
  color: #805e24;
}
.application-check-item p {
  color: #6d786f;
  font-size: 12px;
  line-height: 1.45;
  margin-top: 2px;
}
.application-field {
  background: #f7f9f5;
  border-radius: 9px;
  padding: 10px 12px;
}
.application-field-heading,
.stage-workbench-section-heading {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.application-field-heading span {
  color: #547060;
  font-size: 11px;
}
.application-field p {
  font-size: 13px;
  line-height: 1.5;
  margin-top: 6px;
}
.application-field small {
  display: block;
  line-height: 1.4;
  margin-top: 5px;
}
.stage-inline-alert {
  background: #faf3df;
  border-radius: 8px;
  color: #76551e;
  font-size: 12px;
  margin: 12px 0 0;
  padding: 8px 10px;
}
.stage-workbench-empty {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 5px;
  justify-content: center;
  min-height: 220px;
  padding: 24px;
  text-align: center;
}
.application-material-preview .application-ready-card {
  align-content: center;
  background: linear-gradient(145deg, #f5f8f2, #eef4eb);
  min-height: 168px;
}
.application-ready-card > strong {
  color: #284e38;
  font-size: 18px;
}
.application-ready-card > p {
  margin-bottom: 0;
}
.stage-action-progress {
  accent-color: #2f6849;
  height: 6px;
  margin-top: 14px;
  width: min(100%, 320px);
}
.interview-generation-card {
  align-content: center;
  background: linear-gradient(145deg, #f7f9f5, #eef4eb);
  display: grid;
  min-height: 168px;
}
.interview-generation-card > strong {
  color: #284e38;
  font-size: 16px;
}
.interview-generation-card progress {
  accent-color: #2f6849;
  height: 7px;
  margin: 15px 0 4px;
  width: 100%;
}
.interview-generation-card .preparation-queue-status.working {
  background: #e5efe3;
  color: #315e45;
}
.interview-practice-card .preparation-queue-status.error {
  background: #f6e8e1;
  color: #8a4d35;
}
.stage-workbench-actions {
  align-items: center;
  border-top: 1px solid #e1e7dd;
  display: flex;
  gap: 9px;
  justify-content: flex-end;
  padding: 13px 20px;
}
.stage-workbench-actions .action-link {
  margin: 0;
}
.interview-focus > p,
.interview-practice-card > p {
  color: #4b5b51;
  font-size: 13px;
  line-height: 1.6;
}
.interview-focus-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 13px;
}
.interview-focus-tags span {
  background: #eef3ea;
  border-radius: 999px;
  color: #46604e;
  display: inline-block;
  font-size: 11px;
  line-height: 1.35;
  max-width: 100%;
  overflow: hidden;
  padding: 5px 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.interview-practice-card .preparation-queue-status {
  margin: 0;
}
.interview-practice-card .action-link,
.interview-practice-card button {
  margin: 16px 0 0;
}
.step-done {
  color: #276750;
  font-size: 13px;
  font-weight: 500;
}
.workspace-stage > .card {
  margin: 10px 0;
  background: #fff;
}
.actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 15px;
}
.section {
  margin: 25px 0;
}
.message {
  padding: 14px 18px;
  margin: 10px 0;
  border-radius: 13px;
  background: #fff;
  border: 1px solid #e3e8dd;
  white-space: pre-wrap;
}
.message.user {
  background: #e9f0e3;
  margin-left: 35px;
}
.message-text {
  display: block;
}
.research-evidence-summary {
  border-bottom: 1px solid #dfe7da;
  margin: -2px 0 14px;
  padding-bottom: 12px;
}
.research-evidence-summary summary {
  color: #53675a;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  list-style-position: inside;
}
.research-disclosure-section {
  margin-top: 12px;
}
.research-disclosure-section h4 {
  color: #243d31;
  font-size: 12px;
  letter-spacing: 0.04em;
  margin: 0 0 6px;
}
.research-query-list {
  color: #5d6d61;
  font-size: 12px;
  line-height: 1.65;
  margin: 0;
}
.research-source-list {
  margin: 0;
  padding-left: 22px;
}
.research-source-list li {
  margin: 7px 0;
}
.research-source-list li::marker {
  color: #839087;
}
.research-source-used {
  background: #e7f0e5;
  border-radius: 999px;
  color: #276750;
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  margin-left: 8px;
  padding: 2px 7px;
}
.research-disclosure-empty {
  color: #6b756e;
  font-size: 12px;
  margin: 12px 0 0;
}
.research-source-list a,
.research-answer-line a {
  color: #276750;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.research-answer-line {
  display: inline;
}
.research-answer-heading {
  color: #183b2d;
  font-weight: 700;
}
.message-status {
  color: #5d6d61;
  display: block;
  font-size: 12px;
  margin-top: 6px;
}
.message[data-message-status="processing"] .message-status {
  color: #245c43;
  font-weight: 600;
}
.message[data-message-status="failed"] .message-status {
  color: #9a3f32;
}
.empty {
  padding: 36px 20px;
  color: #6f7c70;
  text-align: center;
  border: 1px dashed #cdd7c8;
  border-radius: 12px;
}
.warning {
  background: #fff7e3;
  border: 1px solid #ecddb3;
  padding: 15px;
  border-radius: 10px;
  margin: 15px 0;
  color: #715423;
}
.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.metric-item {
  border: 1px solid #e0e5da;
  border-radius: 10px;
  padding: 15px;
  min-width: 0;
}
.metric-item h3 {
  margin-top: 0;
}
.login-shell {
  width: 100%;
  min-height: 100vh;
  margin: 0;
  overflow: hidden;
  background: #fff;
}
.official-site {
  color: #20372a;
}
.skip-link {
  position: fixed;
  top: 10px;
  left: 12px;
  z-index: 100;
  padding: 9px 14px;
  border-radius: 9px;
  color: #fff;
  background: #193c2b;
  font-weight: 700;
  text-decoration: none;
  transform: translateY(calc(-100% - 18px));
  transition: transform 120ms ease;
}
.skip-link:focus {
  transform: translateY(0);
}
.official-site :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #295d41;
}
.official-site section[id] {
  scroll-margin-top: 94px;
}
.official-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 76px;
  padding: 12px max(28px, calc((100vw - 1320px) / 2));
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr);
  align-items: center;
  gap: 28px;
  border-bottom: 1px solid rgba(205, 215, 200, 0.8);
  background: rgba(246, 247, 242, 0.92);
  backdrop-filter: blur(18px);
}
.official-brand {
  margin: 0;
  gap: 3px;
}
.official-brand .brand {
  font-size: 23px;
}
.official-brand .brand-positioning {
  font-size: 12px;
}
.official-brand .brand-slogan {
  display: none;
}
.official-nav-links {
  display: flex;
  align-items: center;
  gap: 30px;
}
.official-nav-links a {
  color: #526256;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.official-nav-links a:hover {
  color: #193c2b;
}
.official-action {
  min-height: 46px;
  padding: 10px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #bfcbbb;
  border-radius: 999px;
  color: #294835;
  background: transparent;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 140ms ease, background-color 140ms ease, border-color 140ms ease;
}
.official-action:hover {
  transform: translateY(-1px);
  border-color: #295d41;
  background: #eef3e9;
}
.official-action.primary {
  color: #fff;
  border-color: #295d41;
  background: #295d41;
}
.official-action.primary:hover {
  background: #214d36;
}
.official-nav-login {
  justify-self: end;
  min-height: 42px;
  padding: 8px 20px;
}
.official-hero {
  width: min(1320px, calc(100% - 56px));
  min-height: 690px;
  margin: 0 auto;
  padding: 82px 0 74px;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
  align-items: center;
  gap: clamp(50px, 7vw, 112px);
}
.official-eyebrow {
  margin: 0 0 18px;
  color: #477359;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.official-hero h1 {
  max-width: 640px;
  margin: 0;
  color: #193327;
  font-size: clamp(48px, 5vw, 76px);
  line-height: 1.08;
  letter-spacing: -0.05em;
}
.official-hero h1 span {
  display: block;
}
.official-hero-support {
  max-width: 570px;
  margin: 30px 0 0;
  color: #5f6f63;
  font-size: 18px;
  line-height: 1.85;
}
.official-hero-actions {
  margin-top: 36px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.official-hero-signals {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  color: #5d6d61;
  font-size: 13px;
  font-weight: 700;
}
.official-hero-signals span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.official-hero-signals span::before {
  width: 6px;
  height: 6px;
  content: "";
  border-radius: 50%;
  background: #6f9a7d;
}
.official-value {
  width: min(1320px, calc(100% - 56px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #cfd9ca;
  border-bottom: 1px solid #cfd9ca;
}
.official-value article {
  min-height: 210px;
  padding: 42px 40px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: center;
  gap: 26px;
}
.official-value article + article {
  border-left: 1px solid #cfd9ca;
}
.official-index {
  color: #647267;
  font-size: 12px;
  font-weight: 800;
}
.official-value h2 {
  margin: 0 0 10px;
  color: #243b2d;
  font-size: 19px;
}
.official-value p {
  margin: 0;
  color: #6b786d;
  font-size: 14px;
}
.official-capabilities,
.official-trust {
  width: min(1320px, calc(100% - 56px));
  margin: 0 auto;
  padding: 130px 0;
}
.official-section-heading {
  max-width: 720px;
}
.official-product-gallery {
  margin-top: 58px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.official-product-shot {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--site-line);
  border-radius: 18px;
  background: var(--site-paper);
}
.official-product-image-link {
  display: block;
  color: inherit;
  cursor: zoom-in;
}
.official-product-image-link:focus-visible {
  outline: 3px solid var(--site-green);
  outline-offset: -3px;
}
.official-product-shot img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: top center;
  border-bottom: 1px solid var(--site-line);
  background: var(--site-soft);
}
.official-product-shot figcaption {
  padding: 22px 24px 24px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 6px 18px;
}
.official-product-shot figcaption span {
  grid-row: 1 / 3;
  color: var(--site-green);
  font-size: var(--site-text-small);
  font-weight: 700;
  letter-spacing: 0.04em;
}
.official-product-shot figcaption strong {
  color: var(--site-ink);
  font-size: 18px;
  line-height: 1.35;
}
.official-product-shot figcaption p {
  margin: 0;
  color: var(--site-muted);
  font-size: var(--site-text-body);
  line-height: 1.7;
}
.official-section-heading h2,
.official-journey h2,
.official-trust h2,
.official-entry-copy h2 {
  margin: 0;
  color: #193327;
  font-size: clamp(34px, 3.5vw, 52px);
  line-height: 1.2;
  letter-spacing: -0.035em;
}
.official-capability-track {
  position: relative;
  margin-top: 78px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.official-registration-status {
  margin: 12px 0 0;
  color: var(--site-muted);
  font-size: 13px;
  text-align: center;
}
.official-capability-track::before {
  position: absolute;
  top: 24px;
  right: 10%;
  left: 10%;
  height: 1px;
  content: "";
  background: #c8d4c4;
}
.official-capability-track article {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 0 26px;
  text-align: center;
}
.official-capability-track .official-index {
  width: 49px;
  height: 49px;
  margin: 0 auto 24px;
  display: grid;
  place-items: center;
  border: 1px solid #bdcbbb;
  border-radius: 50%;
  color: #295d41;
  background: #f6f7f2;
}
.official-capability-track h3 {
  margin: 0 0 12px;
  color: #294333;
  font-size: 17px;
}
.official-capability-outcome {
  margin: 0;
  color: #314d3b;
  font-size: 14px;
  line-height: 1.65;
}
.official-capability-proof {
  min-height: 116px;
  margin-top: 20px;
  padding: 16px 14px 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #d8e1d5;
  border-radius: 16px;
  text-align: left;
  background: rgba(255, 255, 255, 0.62);
}
.official-capability-proof-items {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.official-capability-proof-items span {
  padding: 5px 8px;
  border-radius: 999px;
  color: #315b43;
  font-size: 11px;
  line-height: 1.2;
  background: #edf3e9;
}
.official-capability-proof small {
  color: #657268;
  font-size: 11px;
  letter-spacing: 0.01em;
}
.official-journey {
  width: min(1440px, calc(100% - 32px));
  margin: 0 auto;
  padding: 104px max(40px, calc((1440px - 1320px) / 2));
  display: grid;
  grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(60px, 8vw, 130px);
  border-radius: 30px;
  color: #e8f0e8;
  background: #1f4a34;
}
.official-journey .official-eyebrow {
  color: #afc9b7;
}
.official-journey h2 {
  color: #fff;
}
.official-journey-steps {
  margin: 0;
  padding: 0;
  display: grid;
  list-style: none;
}
.official-journey-steps li {
  padding: 24px 0;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 22px;
  border-bottom: 1px solid rgba(230, 240, 231, 0.2);
}
.official-journey-steps li:first-child {
  padding-top: 0;
}
.official-journey-steps li > span {
  color: #afc9b7;
  font-size: 13px;
  font-weight: 800;
}
.official-journey-steps h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 18px;
}
.official-journey-steps p {
  margin: 0;
  color: #c8d9cc;
  font-size: 14px;
}
.official-trust {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(460px, 0.92fr);
  align-items: center;
  gap: clamp(70px, 10vw, 160px);
}
.official-trust-boundary {
  overflow: hidden;
  border: 1px solid #cbd7c7;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.52);
}
.official-trust-boundary article {
  margin: 0;
  padding: 22px 24px;
}
.official-trust-boundary article + article {
  border-top: 1px solid #d8e0d5;
}
.official-trust-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.official-trust-label strong {
  color: #294835;
  font-size: 14px;
}
.official-trust-label span {
  color: #708074;
  font-size: 11px;
  font-weight: 700;
}
.official-trust-items {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.official-trust-items span {
  padding: 6px 10px;
  border-radius: 999px;
  color: #315b43;
  font-size: 12px;
  background: #e8f0e5;
}
.official-trust-private p,
.official-trust-public p {
  margin: 12px 0 0;
  color: #667568;
  font-size: 13px;
  line-height: 1.7;
}
.official-trust-controls {
  padding: 14px 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  border-top: 1px solid #d8e0d5;
  color: #526557;
  font-size: 12px;
  background: #eef3ea;
}
.official-trust-controls span {
  position: relative;
  padding-left: 13px;
}
.official-trust-controls span::before {
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  content: "";
  background: #2e6a49;
}
.official-entry {
  width: min(1320px, calc(100% - 56px));
  margin: 0 auto 44px;
  padding: clamp(36px, 6vw, 78px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
  align-items: center;
  gap: clamp(50px, 8vw, 120px);
  border-radius: 28px;
  background: #e8efe4;
}
.official-entry-copy p:last-child {
  max-width: 560px;
  margin: 24px 0 0;
  color: #647166;
}
.official-entry-actions {
  display: grid;
  gap: 12px;
}
.official-entry-actions .official-action {
  width: 100%;
  justify-content: center;
}
.login-page {
  width: 100%;
  min-height: 100vh;
  color: #20372a;
  background: #fff;
}
.login-page-nav {
  min-height: 76px;
  padding: 12px max(28px, calc((100vw - 1180px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid #d8e0d4;
}
.login-page-nav .official-brand {
  color: inherit;
  text-decoration: none;
}
.login-back-link {
  color: #385943;
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
}
.login-page-main {
  width: min(1160px, calc(100% - 56px));
  min-height: calc(100vh - 77px);
  margin: 0 auto;
  padding: 88px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 410px);
  align-items: center;
  gap: clamp(64px, 8vw, 112px);
}
.login-page-copy h1 {
  max-width: 620px;
  margin: 12px 0 22px;
  font-size: clamp(44px, 6vw, 76px);
  line-height: 1.04;
  letter-spacing: -0.05em;
}
.login-page-copy > p:last-child {
  max-width: 520px;
  color: #647166;
  font-size: 17px;
  line-height: 1.75;
}
.login-page-panel {
  padding: clamp(28px, 3vw, 36px);
  border: 1px solid #d4ded0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(42, 74, 51, 0.08);
}
.login-page-panel > h2 {
  margin: 4px 0 16px;
  font-size: 28px;
}
.login-page-panel .login-auth {
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.login-loading-copy {
  color: #647166;
}
.login-auth {
  align-self: center;
  margin: 0;
  padding: clamp(26px, 3.5vw, 42px);
  border: 1px solid #d4ded0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(42, 74, 51, 0.08);
}
.login-auth h2 {
  margin: 2px 0 28px;
  font-size: 30px;
}
.official-footer {
  width: min(1320px, calc(100% - 56px));
  margin: 0 auto;
  padding: 34px 0 44px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid #d4ddd0;
  color: #637167;
  font-size: 13px;
}
.official-footer strong {
  color: #294835;
  letter-spacing: 0.06em;
}
.login-eyebrow {
  margin: 0;
  color: #6b796d;
  font-size: 14px;
  font-weight: 600;
}
.login-option-stack,
.login-options,
.phone-login-form,
.operator-login-form {
  display: grid;
  gap: 14px;
}
.login-loading,
.login-error {
  min-height: 132px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}
.login-loading-dot {
  width: 22px;
  height: 22px;
  border: 2px solid #d5dfd1;
  border-top-color: #295d41;
  border-radius: 50%;
  animation: login-spin 0.8s linear infinite;
}
@keyframes login-spin {
  to { transform: rotate(360deg); }
}
.login-primary-action {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.wechat-login {
  display: grid;
  gap: 8px;
}
.login-method-feedback,
.login-auth-feedback {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}
.login-method-feedback:empty {
  display: none;
}
.login-auth-feedback {
  padding: 10px 12px;
  border: 1px solid #dfcda2;
  border-radius: 9px;
  color: #6d561e;
  background: #fff9eb;
}
.wechat-mark {
  font-size: 13px;
  font-weight: 700;
}
.login-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #778177;
  font-size: 13px;
}
.login-divider::before,
.login-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: #e0e5da;
}
.phone-send-row,
.phone-verification {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}
.phone-verification[hidden] {
  display: none;
}
.phone-send-row input,
.phone-verification input,
.operator-login-form input {
  width: 100%;
}
.phone-send,
.phone-verification button {
  white-space: nowrap;
}
.phone-login-feedback,
.login-availability {
  min-height: 24px;
  margin: 0;
  color: #68766a;
  font-size: 13px;
}
.login-availability {
  min-height: auto;
  padding: 0;
  background: transparent;
  line-height: 1.6;
  text-align: left;
}
.register-login-link {
  width: 100%;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.operator-login {
  margin: 0;
  padding-top: 0;
  border-top: 0;
}
.login-page .operator-login-form {
  gap: 16px;
}
.login-page .operator-login-form input {
  min-height: 48px;
}
.operator-login-collapsed > summary {
  min-height: 30px;
  color: #6b796d;
  font-size: 13px;
  text-align: center;
}
.operator-login-collapsed[open] > summary {
  margin-bottom: 14px;
}
.operator-login-form label {
  margin: 0;
}
.official-capabilities,
.official-journey,
.official-trust,
.official-entry {
  content-visibility: auto;
  contain-intrinsic-size: auto 620px;
}
@media (prefers-reduced-motion: reduce) {
  .official-site *,
  .official-site *::before,
  .official-site *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
@media (max-width: 760px) {
  .login-shell {
    width: 100%;
    min-height: 100vh;
    margin: 0;
  }
  .official-nav {
    min-height: 66px;
    padding: 10px 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
  }
  .official-brand .brand {
    font-size: 20px;
  }
  .official-brand .brand-positioning {
    font-size: 11px;
  }
  .official-nav-links {
    display: none;
  }
  .official-nav-login {
    min-height: 38px;
    padding: 7px 15px;
  }
  .official-hero {
    width: calc(100% - 36px);
    min-height: 0;
    padding: 62px 0 52px;
    grid-template-columns: 1fr;
    gap: 46px;
  }
  .official-hero h1 {
    font-size: clamp(43px, 13.2vw, 58px);
  }
  .official-hero-support {
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.75;
  }
  .official-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .official-hero-signals {
    justify-content: space-between;
    gap: 10px;
  }
  .official-value {
    width: calc(100% - 36px);
    grid-template-columns: 1fr;
  }
  .official-value article {
    min-height: 0;
    padding: 30px 4px;
  }
  .official-value article + article {
    border-top: 1px solid #cfd9ca;
    border-left: 0;
  }
  .official-capabilities,
  .official-trust {
    width: calc(100% - 36px);
    padding: 88px 0;
  }
  .official-section-heading h2,
  .official-journey h2,
  .official-trust h2,
  .official-entry-copy h2 {
    font-size: 34px;
  }
  .official-capability-track {
    margin-top: 50px;
    grid-template-columns: 1fr;
  }
  .official-product-gallery {
    margin-top: 38px;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .official-product-shot figcaption {
    padding: 18px;
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .official-product-shot figcaption span {
    grid-row: auto;
  }
  .official-capability-track::before {
    top: 24px;
    bottom: 24px;
    left: 24px;
    width: 1px;
    height: auto;
  }
  .official-capability-track article {
    padding: 0 0 34px;
    display: grid;
    grid-template-columns: 49px minmax(0, 1fr);
    gap: 0 20px;
    text-align: left;
  }
  .official-capability-track article:last-child {
    padding-bottom: 0;
  }
  .official-capability-track .official-index {
    grid-row: 1 / 4;
    margin: 0;
  }
  .official-capability-track h3 {
    margin-top: 2px;
  }
  .official-capability-outcome,
  .official-capability-proof {
    grid-column: 2;
  }
  .official-capability-proof {
    min-height: 0;
    margin-top: 14px;
  }
  .official-journey {
    width: calc(100% - 20px);
    padding: 66px 24px;
    grid-template-columns: 1fr;
    gap: 52px;
    border-radius: 22px;
  }
  .official-trust {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 48px;
  }
  .official-entry {
    width: calc(100% - 20px);
    margin-bottom: 24px;
    padding: 50px 18px 18px;
    grid-template-columns: 1fr;
    gap: 42px;
    border-radius: 22px;
  }
  .login-page-nav {
    min-height: 66px;
    padding: 10px 18px;
  }
  .login-page-main {
    width: calc(100% - 36px);
    min-height: calc(100vh - 67px);
    padding: 52px 0;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 42px;
  }
  .login-page-copy h1 {
    font-size: clamp(40px, 12vw, 52px);
  }
  .login-page-panel {
    padding: 28px 22px 34px;
    border-radius: 16px;
  }
  .login-auth {
    width: 100%;
    margin: 0;
    padding: 28px 22px 34px;
    border-radius: 16px;
  }
  .official-footer {
    width: calc(100% - 36px);
    padding-bottom: 30px;
    display: grid;
    gap: 4px;
  }
  .phone-send-row,
  .phone-verification {
    grid-template-columns: minmax(0, 1fr) 112px;
  }
}

.composer {
  margin-top: 25px;
  position: sticky;
  bottom: 0;
  background: #f6f7f2;
  padding: 12px 0;
}
.composer textarea {
  min-height: 80px;
}
.section-heading {
  margin-top: 30px;
}
.supporting-info,
.system-details {
  border: 1px solid #d9e1d4;
  border-radius: 10px;
  padding: 10px 14px;
  background: #fbfcf8;
}
.system-details {
  margin-top: 32px;
}
.system-details > summary,
.supporting-info > summary {
  font-weight: 600;
}
.direct-practice-form[hidden] {
  display: none;
}
.source {
  font-size: 13px;
  color: #667664;
}
details {
  margin: 16px 0;
}
summary {
  cursor: pointer;
  color: #46614b;
  min-height: 36px;
}
.opportunity-card {
  padding: 22px;
}
.opportunity-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.opportunity-card-title {
  margin: 0 0 4px;
}
.opportunity-card-header .source {
  margin: 0;
}
.opportunity-pills,
.opportunity-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.opportunity-pills {
  justify-content: flex-end;
}
.opportunity-card-aside {
  align-self: stretch;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  min-width: 250px;
}
.opportunity-pills .pill {
  margin-bottom: 0;
}
.hiring-pill {
  background: #e7f5e9;
  color: #225c34;
}
.opportunity-links a + a::before {
  content: "·";
  color: #9aa59a;
  margin-right: 8px;
}
.opportunity-card > details,
.opportunity-card .workspace-stage,
.opportunity-card .progress-editor {
  border-top: 1px solid #e3e7df;
  padding-top: 9px;
  margin: 10px 0;
}
.opportunity-card > details > summary,
.opportunity-card .workspace-stage > summary,
.opportunity-card .progress-editor > summary {
  font-weight: 600;
}
.opportunity-next-action {
  margin: 18px 0 8px;
  padding: 10px 12px;
  border-left: 3px solid #76927b;
  background: #f6f8f3;
}
.opportunity-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding-top: 8px;
}
.opportunity-actions button {
  width: 100%;
}
.opportunity-actions button[data-opportunity-action="archive"] {
  border-color: #cbd7c6;
  background: #eef3e9;
  color: #36543e;
}
.opportunity-actions button[data-opportunity-action="archive"]:hover {
  border-color: #afc1ad;
  background: #e4ece0;
}
.opportunity-tabs {
  display: flex;
  gap: 8px;
  margin: 14px 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #dce4d8;
}
.opportunity-tab {
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: #536557;
}
.opportunity-tab.active {
  border-color: #98ae99;
  background: #e8f0e4;
  color: #25472d;
  font-weight: 700;
}
.archived-pill {
  border-color: #c8c8bd;
  background: #f1f1eb;
  color: #65655c;
}
.match-degree-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid;
  border-radius: 999px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  cursor: help;
}
.match-degree-high {
  color: #225c34;
  border-color: #93bea0;
  background: #e7f5e9;
}
.match-degree-high:hover {
  background: #e7f5e9;
}
.match-degree-medium {
  color: #76531e;
  border-color: #d7b978;
  background: #fff5dc;
}
.match-degree-medium:hover {
  background: #fff5dc;
}
.match-degree-low {
  color: #7a352c;
  border-color: #d5a098;
  background: #fff0ed;
}
.match-degree-low:hover {
  background: #fff0ed;
}
.match-degree-body {
  padding: 0;
}
.match-degree-facts {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 5px 12px;
  margin: 8px 0 12px;
  font-size: 13px;
}
.match-degree-facts dt {
  color: #536557;
  font-weight: 650;
}
.match-degree-facts dd {
  margin: 0;
}
.match-degree-evidence-group + .match-degree-evidence-group {
  margin-top: 10px;
}
.match-degree-evidence-group ul {
  margin: 6px 0 0;
  padding-left: 20px;
}
.match-degree-evidence-group li + li {
  margin-top: 8px;
}
.match-degree-evidence-group li span {
  display: block;
  overflow-wrap: anywhere;
}
.match-degree-item-heading {
  color: #36583e;
  font-weight: 650;
}
.opportunity-actions button[data-loading="true"] {
  cursor: wait;
  opacity: 0.7;
}
#notice {
  position: fixed;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  background: #2c4031;
  color: white;
  border-radius: 10px;
  padding: 12px 20px;
  max-width: 90vw;
  z-index: 10;
  display: none;
}
.busy {
  opacity: 0.6;
}
.row {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}
.review-edit {
  padding: 15px 0;
  border-top: 1px solid #e3e7df;
}
.practice-facts {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 12px 18px;
  margin: 0;
}
.practice-facts dt {
  font-weight: 650;
  color: #304b37;
}
.practice-facts dd {
  margin: 0;
}
.direct-practice {
  margin-top: 20px;
}
.direct-practice-form {
  max-width: 720px;
}
.form-separator {
  margin: -2px 0;
  text-align: center;
  color: #6f7c70;
  font-size: 13px;
}
.meta {
  font-size: 12px;
  overflow-wrap: anywhere;
  color: #7b867c;
}
@media (max-width: 1150px) {
  .shell {
    grid-template-columns: 190px minmax(0, 1fr);
  }
  .main {
    padding: 26px;
  }
  .preparation-workspace-layout {
    grid-template-columns: minmax(230px, 0.75fr) minmax(0, 1.5fr);
  }
}
@media (max-width: 680px) {
  .opportunity-card-header {
    display: block;
  }
  .opportunity-card-aside {
    align-items: flex-start;
    min-width: 0;
    margin-top: 10px;
    gap: 8px;
  }
  .opportunity-pills,
  .opportunity-links {
    justify-content: flex-start;
    margin-top: 8px;
  }
  .shell {
    display: block;
  }
  .sidebar {
    padding: 15px 18px;
    border-right: none;
    border-bottom: 1px solid #dae1d3;
  }
  .sidebar .brand {
    font-size: 21px;
    margin: 0;
  }
  .sidebar-brand .brand-slogan {
    display: none;
  }
  .sidebar-brand {
    display: flex;
    align-items: baseline;
    gap: 9px;
  }
  .sidebar-brand .brand-positioning {
    font-size: 12px;
  }
  .sidebar nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 12px 0 0;
    gap: 3px;
  }
  .sidebar nav button {
    grid-template-columns: 20px minmax(0, 1fr) auto;
    gap: 6px;
    min-height: 40px;
    padding: 7px 6px;
    font-size: 13px;
    white-space: nowrap;
  }
  .sidebar-step-number {
    width: 19px;
    height: 19px;
    font-size: 9px;
  }
  .sidebar-account {
    width: 100%;
    margin-top: 8px;
    padding-top: 8px;
  }
  .sidebar-account-trigger {
    min-height: 44px;
  }
  .sidebar-account-menu {
    top: calc(100% + 8px);
    bottom: auto;
    left: 0;
  }
  .account-reauth-form {
    grid-template-columns: 1fr;
  }
  .account-row,
  .account-verification-state {
    align-items: flex-start;
  }
  .account-row > button,
  .account-row-actions button {
    padding: 8px 10px;
    font-size: 13px;
    white-space: nowrap;
  }
  .main {
    padding: 20px 17px;
  }
  .top {
    gap: 12px;
    align-items: flex-start;
  }
  .top h1 {
    font-size: 24px;
  }
  .top button {
    font-size: 13px;
    padding: 8px;
  }
  .card {
    padding: 19px;
  }
  .grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .practice-facts {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .practice-facts dd {
    margin-bottom: 12px;
  }
  .login {
    margin: 5vh 16px;
    padding: 24px;
  }
  .login h1 {
    font-size: 30px;
  }

  .composer {
    bottom: 0;
  }
  .row {
    display: block;
  }
  .run-monitor > summary {
    display: block;
  }
  .run-monitor > summary .muted {
    display: block;
  }
  .action-link {
    width: 100%;
  }
  .preparation-workspace-layout {
    grid-template-columns: 1fr;
  }
  .main-preparation {
    padding: 18px 14px 32px;
  }
  .preparation-stage-tabs {
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .preparation-stage-tab:nth-child(2)::after {
    display: none;
  }
  .preparation-stage-layout {
    grid-template-columns: 1fr;
  }
  .preparation-stage-sidebar {
    height: auto;
    max-height: none;
    position: static;
  }
  .preparation-stage-queue {
    height: clamp(340px, 52dvh, 440px);
    max-height: none;
    min-height: 0;
  }
  .preparation-queue-import .manual-import[open] {
    bottom: 12px;
    left: 12px;
    max-height: calc(100dvh - 24px);
    position: fixed;
    right: 12px;
    width: auto;
  }
  .stage-workbench[data-stage-workbench="application"] {
    display: block;
    height: auto;
    max-height: none;
    min-height: 0;
    overflow: visible;
  }
  .application-material-grid {
    overflow: visible;
  }
  .application-material-grid .stage-workbench-section {
    display: block;
    overflow: visible;
  }
  .application-material-grid .application-checklist,
  .application-material-grid .application-field-list {
    max-height: none;
    overflow: visible;
    padding-right: 0;
    scrollbar-gutter: auto;
  }
  .preparation-workspace-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  .preparation-stage-metrics {
    grid-template-columns: 1fr;
    padding: 0 14px;
  }
  .preparation-stage-metric {
    padding: 10px 0;
  }
  .preparation-stage-metric + .preparation-stage-metric {
    border-left: 0;
    border-top: 1px solid #dfe6db;
    padding-left: 0;
  }
  .application-material-grid,
  .interview-preparation-grid {
    grid-template-columns: 1fr;
    padding: 14px;
  }
  .stage-workbench-actions {
    align-items: stretch;
    flex-direction: column;
    padding: 12px 14px;
  }
  .stage-workbench-actions > * {
    width: 100%;
  }
  .resume-editor-header-embedded {
    grid-template-columns: 1fr;
  }
  .resume-editor-header-embedded .resume-editor-version-name,
  .resume-editor-header-embedded .resume-editor-actions {
    grid-column: 1;
  }
  .resume-editor-canvas {
    height: 70vh;
    min-height: 520px;
  }
  .resume-diagnosis-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 680px) {
  .composer {
    position: static;
  }
}

.practice-job-group {
  margin-top: 22px;
}
.practice-job-heading {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.practice-review {
  border-top: 1px solid #d3dccd;
  margin-top: 16px;
  padding-top: 16px;
}
.practice-review-category {
  margin-top: 16px;
}
.practice-review-category h5,
.practice-next-goal h5 {
  margin-bottom: 7px;
}
.practice-review-item,
.practice-comparison-item {
  background: #f6f7f2;
  border-radius: 12px;
  margin-top: 9px;
  padding: 13px;
}
.practice-review-item blockquote,
.practice-comparison-item blockquote {
  margin: 7px 0;
}
.practice-next-goal {
  border-left: 3px solid #477359;
  margin-top: 16px;
  padding-left: 14px;
}
.ability-report {
  border-top: 1px solid #d3dccd;
  margin-top: 18px;
  padding-top: 18px;
}
.ability-radar-grid,
.ability-evidence-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ability-radar-card {
  background: #fbfcf9;
  border: 1px solid #dce4dc;
  border-radius: 14px;
  padding: 14px;
}
.ability-radar-heading {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.ability-radar-heading h4 {
  margin: 0;
}
.ability-radar-card svg {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 480px;
  width: 100%;
}
.ability-radar-label {
  fill: #35463b;
  font-size: 13px;
}
.ability-radar-scale {
  fill: #77827a;
  font-size: 12px;
}
.ability-dimension {
  border-top: 1px solid #dce4dc;
  margin-top: 18px;
  padding-top: 16px;
}
.ability-level {
  background: #e1eee4;
  border-radius: 999px;
  color: #20593c;
  display: inline-block;
  min-width: 42px;
  padding: 3px 10px;
  text-align: center;
}
.ability-evidence {
  background: #f6f7f2;
  border-radius: 10px;
  margin-top: 10px;
  padding: 12px;
}
.ability-evidence blockquote,
.practice-answer blockquote {
  margin: 8px 0;
}
.practice-process,
.practice-feedback,
.ability-conditions {
  margin-top: 16px;
}
.practice-answer {
  border-top: 1px solid #dce4dc;
  padding: 14px 0;
}
.practice-answer audio {
  max-width: 100%;
  width: 360px;
}
@media (max-width: 760px) {
  .ability-radar-grid,
  .ability-evidence-grid,
  .quota-heading,
  .quota-controls {
    grid-template-columns: 1fr;
  }
}

.resume-version-card {
  border-top: 1px solid #d3dccd;
  margin-top: 14px;
  padding-top: 14px;
}
.resume-version-heading {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.resume-version-card pre {
  max-height: 360px;
  overflow: auto;
  white-space: pre-wrap;
}
.materials-page {
  display: grid;
  gap: 16px;
}
.materials-page > h1 {
  margin: 0 0 2px;
}
.materials-latest-resume,
.materials-resume-history,
.materials-resume-source {
  margin: 0;
}
.materials-resume-heading {
  align-items: center;
  border-bottom: 1px solid #dce4d8;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin: -2px -2px 14px;
  padding: 0 2px 14px;
}
.materials-resume-heading h2,
.materials-resume-heading small {
  display: block;
  margin: 2px 0 0;
}
.materials-section-kicker {
  color: #2d6848;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}
.materials-resume-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 12px;
}
.materials-resume-preview-status {
  color: #6c786f;
  font-size: 12px;
}
.materials-resume-preview-host {
  background: #eef1ec;
  border: 1px solid #d7dfd3;
  border-radius: 12px;
  height: min(76vh, 980px);
  min-height: 640px;
  overflow: auto;
  width: 100%;
}
.materials-resume-preview-host > iframe {
  border: 0;
  height: 100%;
  width: 100%;
}
.materials-native-pdf .native-pdf-pages {
  gap: 16px;
  margin: 0 auto;
  max-width: 1080px;
  padding: 16px;
}
.materials-native-pdf .native-pdf-page {
  box-shadow: 0 5px 18px rgba(35, 59, 43, .09);
}
.materials-resume-text,
.resume-history-text {
  background: #fbfcfa;
  border: 1px solid #e0e6dd;
  border-radius: 10px;
  line-height: 1.65;
  margin: 0;
  padding: 18px;
  white-space: pre-wrap;
}
.materials-resume-history > h2,
.materials-resume-source > h2 {
  margin-top: 0;
}
.materials-resume-history .resume-version-card {
  border: 1px solid #dce4d8;
  border-radius: 10px;
  margin: 9px 0 0;
  padding: 0;
}
.materials-resume-history .resume-version-heading {
  cursor: pointer;
  list-style: none;
  padding: 13px 15px;
}
.materials-resume-history .resume-version-heading::-webkit-details-marker {
  display: none;
}
.materials-resume-history .resume-version-heading > span:first-child {
  display: grid;
  gap: 3px;
}
.resume-history-toggle {
  color: #3b6b4b;
  font-size: 12px;
  font-weight: 650;
}
.resume-version-card[open] .resume-history-toggle::before {
  content: "收起";
  font-size: 0;
}
.resume-version-card[open] .resume-history-toggle {
  font-size: 0;
}
.resume-version-card[open] .resume-history-toggle::after {
  content: "收起";
  font-size: 12px;
}
.resume-version-body {
  border-top: 1px solid #e3e8df;
  padding: 14px 15px 16px;
}
.resume-history-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-bottom: 12px;
}
.resume-history-actions button {
  margin: 0;
  padding: 7px 11px;
}
@media (max-width: 760px) {
  .materials-resume-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .materials-resume-preview-host {
    height: 70vh;
    min-height: 520px;
  }
  .materials-native-pdf .native-pdf-pages {
    padding: 8px;
  }
}
.resume-editor-entry {
  align-items: center;
}
.resume-editor-entry .muted {
  font-size: 13px;
  margin: 0;
}
.workspace-resume-versions {
  background: #f6f8f3;
  border: 1px solid #d7e0d2;
  border-radius: 12px;
  margin: 14px 0;
  padding: 12px 14px;
}
.workspace-resume-version-heading,
.workspace-resume-version,
.workspace-resume-version > div,
.workspace-resume-version-actions {
  align-items: center;
  display: flex;
  gap: 9px;
}
.workspace-resume-version-heading,
.workspace-resume-version {
  justify-content: space-between;
}
.workspace-resume-version {
  border-top: 1px solid #dce4d8;
  flex-wrap: wrap;
  margin-top: 10px;
  padding-top: 10px;
}
.workspace-resume-version-actions button {
  padding: 5px 9px;
}
.workspace-resume-version-compare {
  flex-basis: 100%;
  grid-column: 1 / -1;
  width: 100%;
}
.workspace-resume-version-diff {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-top: 10px;
}
.workspace-resume-version-diff section {
  min-width: 0;
}
.workspace-resume-version-diff pre {
  max-height: 260px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
}
.resume-editor-overlay {
  background: #eef2e9;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  inset: 0;
  position: fixed;
  z-index: 1000;
}
.resume-editor-panel,
.resume-preview-panel {
  border: 1px solid #cfd9ca;
  border-radius: 12px;
  margin-top: 0;
  overflow: hidden;
}
body.resume-editor-open {
  overflow: hidden;
}
.resume-editor-fullscreen {
  background: #f2f5ef;
  border: 0;
  border-radius: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100dvh;
  inset: 0;
  margin: 0;
  overflow: hidden;
  position: fixed;
  width: 100vw;
  z-index: 1000;
}
.resume-editor-fullscreen .resume-editor-save {
  padding-left: clamp(16px, 2vw, 32px);
  padding-right: clamp(16px, 2vw, 32px);
}
.resume-editor-fullscreen .resume-document-workspace {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 28vw);
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.resume-editor-fullscreen .resume-original-column {
  grid-template-rows: minmax(0, 1fr);
  height: 100%;
  min-height: 0;
}
.resume-editor-fullscreen .resume-editor-canvas {
  height: auto;
  min-height: 0;
  overflow: hidden;
}
.resume-editor-fullscreen .resume-editor-host {
  height: 100%;
  min-height: 0;
}
.resume-editor-side-panel {
  background: #f7f9f5;
  border-left: 1px solid #d5ddd1;
  min-height: 0;
  min-width: 0;
  overflow-y: auto;
}
.resume-editor-fullscreen .resume-ai-comments {
  border-left: 0;
  max-height: none;
  min-height: 0;
  overflow: visible;
}
.resume-editor-fullscreen .resume-version-toolbar-actions .resume-upload-action button {
  margin: 0;
  padding: 7px 12px;
}
.resume-exit-edit {
  background: #fff;
  border-color: #9caf9f;
  border-radius: 8px;
  color: #285b3d;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  min-height: 30px;
  padding: 3px 12px;
}
.resume-exit-edit:hover {
  background: #edf4ea;
}
.resume-preview-status {
  color: #66736a;
  font-size: 12px;
}
.resume-workspace-overview {
  align-items: center;
  background: #fff;
  border-bottom: 1px solid #d7e0d2;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  min-height: 48px;
  padding: 8px 24px;
}
.resume-workspace-target {
  align-items: baseline;
  display: flex;
  flex: 1 1 auto;
  gap: 12px;
  min-width: 0;
}
.resume-workspace-company,
.resume-workspace-target h2,
.resume-workspace-target p {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.resume-workspace-company {
  color: #315b42;
  flex: 0 1 auto;
  margin: 0;
  max-width: 34%;
}
.resume-workspace-target h2 {
  flex: 0 1 auto;
  margin: 0;
  max-width: 48%;
}
.resume-workspace-target p {
  flex: 0 0 auto;
  margin: 0;
  max-width: 20%;
}
.resume-workspace-header-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}
.resume-workspace-header-actions > button {
  flex: 0 0 auto;
  margin: 0;
  padding: 7px 12px;
}
.resume-workspace-insights {
  background: #f7f9f5;
  border-bottom: 1px solid #d7e0d2;
  gap: 6px;
  grid-template-columns: 1fr;
  margin: 0;
  padding: 9px 14px;
}
.preparation-jd-dialog {
  background: transparent;
  border: 0;
  max-height: 100vh;
  max-width: 100vw;
  padding: 20px;
  width: 100%;
}
.preparation-jd-dialog::backdrop {
  background: rgba(20, 32, 25, 0.48);
}
.preparation-jd-dialog-card {
  background: var(--app-surface, #fff);
  border: 1px solid var(--app-line, #d7e0d2);
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(26, 47, 34, 0.24);
  margin: min(8vh, 72px) auto;
  max-height: calc(100vh - 120px);
  max-width: 820px;
  overflow-y: auto;
  width: min(100%, 820px);
}
.preparation-jd-dialog-header {
  align-items: center;
  background: var(--app-surface, #fff);
  border-bottom: 1px solid var(--app-line, #d7e0d2);
  display: flex;
  justify-content: space-between;
  padding: 18px 22px;
  position: sticky;
  top: 0;
  z-index: 1;
}
.preparation-jd-dialog-header h2,
.preparation-jd-dialog-header span {
  margin: 0;
}
.preparation-jd-dialog-header h2 {
  font-size: 20px;
  margin-top: 3px;
}
.preparation-jd-close {
  margin: 0;
}
.preparation-jd-dialog .preparation-job-popover {
  border: 0;
  box-shadow: none;
  max-height: none;
  padding: 20px 22px 24px;
  position: static;
  width: auto;
}
@media (max-width: 680px) {
  .preparation-jd-dialog {
    padding: 8px;
  }
  .preparation-jd-dialog-card {
    border-radius: 12px;
    margin: 0 auto;
    max-height: calc(100dvh - 16px);
    width: 100%;
  }
  .preparation-jd-dialog-header {
    gap: 12px;
    padding: 14px 16px;
  }
  .preparation-jd-dialog-header h2 {
    font-size: 17px;
    line-height: 1.35;
  }
  .preparation-jd-dialog .preparation-job-popover {
    padding: 16px;
  }
}
.resume-workspace-insights .resume-insight-line {
  background: #fff;
  padding: 7px 10px 7px 9px;
}
.resume-version-toolbar {
  align-items: center;
  background: #f2f6ef;
  border-bottom: 1px solid #d7e0d2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  min-height: 54px;
  padding: 8px 14px;
  position: relative;
}
.resume-version-toolbar > span {
  font-size: 13px;
}
.resume-editing-state {
  color: #376b49;
  font-weight: 600;
}
.resume-version-toolbar-actions {
  align-items: center;
  display: flex;
  gap: 8px;
  margin-left: auto;
}
.resume-version-toolbar-actions button {
  margin: 0;
  padding: 7px 12px;
}
.resume-editor-side-panel .resume-workspace-overview {
  align-items: flex-start;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 16px;
}
.resume-editor-side-panel .resume-workspace-target {
  align-items: flex-start;
  flex-direction: column;
  gap: 3px;
}
.resume-editor-side-panel .resume-workspace-company {
  color: #58705f;
  font-size: 12px;
  font-weight: 650;
  max-width: 100%;
}
.resume-editor-side-panel .resume-workspace-target h2 {
  color: #22382a;
  font-size: 16px;
  line-height: 1.45;
  max-width: 100%;
}
.resume-editor-side-panel .resume-workspace-target p {
  color: #68776c;
  font-size: 12px;
  max-width: 100%;
}
.resume-editor-side-panel .resume-workspace-company,
.resume-editor-side-panel .resume-workspace-target h2,
.resume-editor-side-panel .resume-workspace-target p {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}
.resume-editing-badge {
  background: #e8f1e6;
  border-radius: 999px;
  color: #315b42;
  font-size: 11px;
  font-weight: 650;
  padding: 4px 8px;
  white-space: nowrap;
}
.resume-editor-side-panel .resume-workspace-insights {
  background: #f7f9f5;
  gap: 8px;
  padding: 12px;
}
.resume-editor-side-panel .resume-insight-line {
  align-items: start;
  display: grid;
  gap: 10px;
  grid-template-columns: 88px minmax(0, 1fr);
  padding: 11px 12px;
}
.resume-editor-side-panel .resume-insight-line > strong {
  font-size: 12px;
  line-height: 1.55;
}
.resume-editor-side-panel .resume-insight-line > p {
  color: #34463a;
  font-size: 12px;
  line-height: 1.6;
}
.resume-editor-side-panel .resume-version-toolbar {
  align-items: flex-start;
  background: #fff;
  flex-direction: column;
  gap: 10px;
  padding: 12px 16px 14px;
}
.resume-version-summary {
  display: grid;
  gap: 3px;
  min-width: 0;
  width: 100%;
}
.resume-version-summary > strong {
  color: #293f31;
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.resume-version-summary > .muted,
.resume-version-summary > .resume-editing-state {
  font-size: 11px;
}
.resume-version-kicker {
  color: #708077;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.04em;
}
.resume-editor-side-panel .resume-version-toolbar-actions {
  flex-wrap: wrap;
  gap: 6px;
  margin-left: 0;
}
.resume-editor-side-panel .resume-version-toolbar-actions button,
.resume-editor-side-panel .preparation-header-details > summary,
.resume-editor-side-panel .resume-version-inline-details > summary {
  border-radius: 8px;
  font-size: 11px;
  min-height: 32px;
  padding: 6px 10px;
}
.resume-editor-side-panel .resume-ai-comments {
  padding: 14px 16px 20px;
}
.resume-editor-side-panel .resume-ai-comments-heading > strong {
  color: #293f31;
  font-size: 14px;
}
.resume-document-workspace {
  background: #f2f5ef;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
  min-height: 700px;
}
.resume-editor-header-embedded {
  grid-template-columns: minmax(220px, 1fr) minmax(240px, 390px) auto;
}
.resume-editor-header-embedded .resume-editor-title {
  align-items: flex-start;
  flex-direction: column;
  gap: 1px;
}
.resume-original-column {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
}
.resume-original-heading {
  align-items: baseline;
  background: #fff;
  border-bottom: 1px solid #d5ddd1;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  min-height: 42px;
  padding: 10px 14px 10px 24px;
}
.resume-original-heading > strong {
  flex: 0 0 auto;
  white-space: nowrap;
}
.resume-original-heading .muted {
  font-size: 11px;
}
.resume-preview-heading-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  margin-left: auto;
}
.resume-upload-action {
  display: inline-flex;
}
.resume-preview-heading-actions button {
  background: transparent;
  border-color: #cfd9ca;
  border-radius: 8px;
  color: #315b42;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  min-height: 30px;
  padding: 3px 10px;
}
.resume-editor-canvas {
  height: min(76vh, 900px);
  min-height: 658px;
  min-width: 0;
}
.resume-preview-canvas {
  height: min(76vh, 900px);
  min-height: 658px;
  min-width: 0;
}
.resume-editor-canvas > .resume-editor-host,
.resume-editor-canvas > iframe,
.resume-preview-canvas > .resume-preview-host,
.resume-preview-canvas > iframe,
.resume-preview-host > iframe {
  height: 100% !important;
  min-height: inherit;
  width: 100% !important;
}
.resume-editor-unavailable {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 360px;
  padding: 28px;
  text-align: center;
}
.resume-text-preview {
  background: var(--app-surface);
  color: var(--app-ink);
  font: inherit;
  height: 100%;
  line-height: 1.7;
  margin: 0;
  overflow: auto;
  padding: 24px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  position: relative;
}
.native-pdf-page {
  position: relative;
  --scale-round-x: 1px;
  --scale-round-y: 1px;
}
/* Text metrics follow the bundled PDF.js TextLayer API (Mozilla, Apache-2.0). */
.resume-pdf-text-layer {
  position: absolute;
  inset: 0;
  overflow: clip;
  line-height: 1;
  letter-spacing: normal;
  word-spacing: normal;
  text-align: initial;
  text-size-adjust: none;
  transform-origin: 0 0;
  --text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size, 1));
  --min-font-size-inv: calc(1 / var(--min-font-size, 1));
}
.resume-pdf-text-layer :is(span, br) {
  color: transparent;
  position: absolute;
  white-space: pre;
  cursor: text;
  transform-origin: 0 0;
  user-select: text;
}
.resume-pdf-text-layer > :not(.markedContent),
.resume-pdf-text-layer .markedContent span:not(.markedContent) {
  font-size: calc(var(--text-scale-factor) * var(--font-height));
  transform: rotate(var(--rotate, 0deg)) scaleX(var(--scale-x, 1)) scale(var(--min-font-size-inv));
}
.resume-pdf-text-layer .markedContent {
  display: contents;
}
.resume-quote-highlight {
  background: #f4cd624f;
  border-radius: 2px;
  overflow-anchor: none;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}
.resume-quote-highlight.is-active {
  background: #eebf4b80;
  box-shadow: 0 0 0 1px #b18518;
}
.resume-quote-highlight[data-first="true"]::before {
  background: #946b11;
  border-radius: 3px;
  color: #fff;
  content: attr(data-number);
  font: 600 10px/16px sans-serif;
  height: 16px;
  left: -18px;
  position: absolute;
  text-align: center;
  top: 0;
  width: 16px;
}
.resume-ai-comment.is-selected {
  border-color: #69886a;
  box-shadow: 0 0 0 1px #69886a;
}
.resume-anchor-action {
  background: transparent;
  border: 0;
  color: var(--app-green);
  flex: 0 0 auto;
  font-size: 11px;
  min-height: 24px;
  padding: 0 2px;
}
.resume-anchor-status {
  color: var(--app-muted);
  display: block;
  font-size: 11px;
  line-height: 1.5;
  margin-top: 7px;
}
.resume-anchor-status:empty {
  display: none;
}
.resume-ai-comments {
  background: #f7f9f5;
  border-left: 1px solid #d5ddd1;
  max-height: calc(min(76vh, 900px) + 42px);
  min-width: 0;
  overflow: auto;
  padding: 14px;
}
.resume-ai-comments-heading {
  align-items: baseline;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin-bottom: 12px;
}
.resume-ai-comments-heading .muted {
  font-size: 11px;
}
.resume-ai-comment-list {
  display: grid;
  gap: 10px;
}
.resume-ai-comment {
  background: #fff;
  border: 1px solid #d7e0d2;
  border-radius: 10px;
  padding: 11px;
}
.resume-ai-comment-title {
  align-items: flex-start;
  display: flex;
  gap: 8px;
  margin-bottom: 9px;
}
.resume-ai-comment-title > strong {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
.resume-ai-comment-number {
  align-items: center;
  background: #d78c20;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 11px;
  height: 22px;
  justify-content: center;
  width: 22px;
}
.resume-ai-comment blockquote,
.resume-ai-comment p {
  font-size: 12px;
  line-height: 1.55;
  margin: 5px 0 10px;
}
.resume-comment-status {
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  padding: 3px 8px;
}
.resume-comment-status.supported {
  background: #dfeee1;
  color: #2a6847;
}
.resume-ai-comments-empty {
  background: #fff;
  border: 1px dashed #ccd7c8;
  border-radius: 10px;
  padding: 16px;
}
.resume-ai-comments-empty p {
  margin-bottom: 0;
}
.resume-editor-save {
  align-items: center;
  background: #fff;
  border-top: 1px solid #d5ddd1;
  display: flex;
  gap: 14px;
  justify-content: flex-end;
  padding: 10px 14px;
}
.resume-editor-save button {
  margin: 0;
  min-width: 260px;
}
.resume-editor-footer-actions {
  align-items: center;
  display: flex;
  gap: 10px;
}
.resume-editor-save .resume-editor-footer-actions .resume-exit-edit {
  min-width: 104px;
}
.resume-editor-save .resume-editor-footer-actions > button:last-child {
  min-width: 260px;
}
.resume-editor-save .resume-editor-status {
  margin-right: auto;
}
.resume-editor-save .resume-editor-version-name {
  flex: 0 1 420px;
  margin: 0;
}
.resume-editor-header {
  align-items: center;
  background: #fff;
  border-bottom: 1px solid #cfd9ca;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(180px, 1fr) minmax(240px, 420px) auto auto;
  padding: 10px 18px;
}
.resume-editor-title,
.resume-editor-version-name,
.resume-editor-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  min-width: 0;
}
.resume-editor-title .muted {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.resume-editor-version-name span,
.resume-editor-status {
  color: #617064;
  font-size: 13px;
  white-space: nowrap;
}
.resume-editor-name {
  margin: 0;
  min-width: 0;
  padding: 8px 10px;
  width: 100%;
}
.resume-editor-actions {
  flex-wrap: nowrap;
}
.resume-editor-actions button {
  margin: 0;
  white-space: nowrap;
}
.resume-editor-host,
.resume-preview-host {
  min-height: 0;
  width: 100%;
}
.resume-preview-host {
  background: #fff;
  overflow: auto;
}
.native-pdf-preview,
.native-pdf-pages,
.native-pdf-page {
  background: #fff;
  width: 100%;
}
.native-pdf-preview {
  min-height: 100%;
}
.native-pdf-pages {
  display: grid;
  gap: 12px;
}
.native-pdf-page {
  overflow: hidden;
}
.native-pdf-page > canvas {
  display: block;
  height: auto;
  width: 100%;
}
@media (max-width: 860px) {
  .resume-editor-header {
    gap: 8px;
    grid-template-columns: 1fr auto;
  }
  .resume-editor-version-name,
  .resume-editor-status {
    grid-column: 1 / -1;
  }
  .resume-editor-title .muted {
    display: none;
  }
  .workspace-resume-version {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 1080px) {
  .preparation-stage-tabs {
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .preparation-stage-tab:nth-child(2)::after {
    display: none;
  }
  .preparation-stage-tab:not(:last-child)::after {
    right: -8px;
  }
  .preparation-stage-layout {
    grid-template-columns: minmax(180px, 200px) minmax(0, 1fr);
  }
  .resume-editor-header-embedded {
    grid-template-columns: 1fr auto;
  }
  .resume-editor-header-embedded .resume-editor-version-name {
    grid-column: 1 / -1;
  }
  .resume-document-workspace {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 30%);
  }
}
@media (max-width: 680px) {
  .workspace-resume-version-diff {
    grid-template-columns: 1fr;
  }
  .preparation-stage-tabs {
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .preparation-stage-tab:nth-child(2)::after {
    display: none;
  }
  .preparation-stage-layout {
    grid-template-columns: 1fr;
  }
  .resume-editor-header-embedded {
    grid-template-columns: 1fr;
  }
  .resume-editor-header-embedded .resume-editor-version-name,
  .resume-editor-header-embedded .resume-editor-actions {
    grid-column: 1;
  }
  .resume-editor-canvas,
  .resume-preview-canvas {
    height: 70vh;
    min-height: 520px;
  }
  .resume-document-workspace {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .resume-editor-fullscreen {
    display: block;
    min-height: 100dvh;
    overflow-y: auto;
  }
  .resume-editor-fullscreen .resume-document-workspace {
    grid-template-columns: 1fr;
    height: auto;
    overflow: visible;
  }
  .resume-editor-fullscreen .resume-original-column {
    grid-template-rows: minmax(0, 1fr);
    height: auto;
    min-height: 0;
  }
  .resume-editor-fullscreen .resume-editor-canvas {
    height: 70vh;
    min-height: 520px;
  }
  .resume-editor-fullscreen .resume-editor-host {
    height: 100%;
    min-height: 0;
  }
  .resume-editor-fullscreen .resume-editor-side-panel {
    border-left: 0;
    border-top: 1px solid #d5ddd1;
    overflow: visible;
  }
  .resume-editor-fullscreen .resume-ai-comments {
    max-height: 42vh;
    overflow-y: auto;
  }
  .resume-insight-strip {
    grid-template-columns: 1fr;
  }
  .resume-workspace-overview {
    align-items: stretch;
    flex-direction: column;
  }
  .resume-workspace-header-actions {
    flex-wrap: wrap;
  }
  .resume-workspace-target {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 2px 8px;
  }
  .resume-workspace-company,
  .resume-workspace-target h2 {
    flex-basis: 100%;
    max-width: 100%;
  }
  .resume-workspace-target p {
    max-width: 100%;
  }
  .resume-original-heading {
    align-items: center;
    flex-wrap: wrap;
  }
  .resume-preview-heading-actions {
    gap: 6px;
  }
  .resume-ai-comments {
    border-left: 0;
    border-top: 1px solid #d5ddd1;
    max-height: 360px;
  }
  .resume-editor-save {
    align-items: stretch;
    flex-direction: column-reverse;
  }
  .resume-editor-save button {
    min-width: 0;
    width: 100%;
  }
  .resume-editor-footer-actions {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    width: 100%;
  }
  .resume-editor-save .resume-editor-footer-actions .resume-exit-edit,
  .resume-editor-save .resume-editor-footer-actions > button:last-child {
    min-width: 0;
    width: 100%;
  }
  .resume-editor-save .resume-editor-version-name {
    flex: 0 1 auto;
    width: 100%;
  }
  .resume-version-toolbar-actions {
    flex-wrap: wrap;
  }
}
.example-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 12px 0;
}
.example-chip {
  display: flex;
  align-items: baseline;
  gap: 10px;
  text-align: left;
  background: #f1f3ec;
  color: #7d8a7f;
  border: 1px dashed #ccd6c7;
  border-radius: 9px;
  padding: 8px 12px;
  font-size: 14px;
  cursor: pointer;
}
.example-chip:hover {
  background: #e9eee4;
  color: #54635a;
}
.example-tag {
  flex: none;
  font-size: 12px;
  font-weight: 600;
  color: #6f7c70;
  border: 1px solid #ccd6c7;
  border-radius: 999px;
  padding: 1px 8px;
  background: #fbfcf8;
}
.example-text {
  min-width: 0;
  overflow-wrap: anywhere;
}
.voice-button.recording {
  background: #a83131;
  border-color: #8c2626;
  color: #fff;
}
/* 搭子会话：文字、语音和发送动作位于同一输入框。 */
.composer-box {
  display: flex;
  gap: 10px;
  align-items: flex-end;
  padding: 10px;
  border: 1px solid #cdd7c8;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 20px rgb(41 57 43 / 8%);
}
.composer-box textarea {
  flex: 1;
  min-height: 62px;
  max-height: 180px;
  padding: 8px;
  border: 0;
  outline: 0;
  resize: none;
}
.composer-controls {
  display: flex;
  gap: 8px;
  align-items: center;
}
.composer-resume-upload {
  display: contents;
}
.composer-resume-button {
  flex: none;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border-radius: 50%;
  border-color: #ccd6c7;
  background: #f8faf6;
  color: #496151;
  font-size: 17px;
}
.composer-resume-button:hover {
  background: #edf2e9;
  border-color: #9caf9e;
}
.mic-button {
  flex: none;
  min-width: 44px;
  width: 44px;
  min-height: 44px;
  height: 44px;
  padding: 0;
  border-radius: 50%;
  font-size: 14px;
  white-space: nowrap;
}
.composer-send {
  flex: none;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border-radius: 50%;
  font-size: 22px;
  line-height: 1;
}
.mic-button.recording {
  background: #a83131;
  border-color: #8c2626;
  color: #fff;
  animation: mic-pulse 1.2s ease-in-out infinite;
}
@keyframes mic-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(168, 49, 49, 0.35); }
  50% { box-shadow: 0 0 0 8px rgba(168, 49, 49, 0); }
}
.voice-status {
  margin: 6px 0 0;
  font-size: 13px;
  color: #a83131;
}
@media (max-width: 760px) {
  .composer-box {
    align-items: stretch;
  }
  .mic-button {
    min-width: 44px;
  }
}
.minimal-entry {
  margin-top: 26px;
}
.goal-details dl {
  display: grid;
  gap: 8px;
  margin: 10px 0 4px;
}
.goal-details dl div {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 10px;
  align-items: baseline;
}
.goal-details dt {
  color: #6f7c70;
  font-size: 14px;
}
.goal-details dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.together-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.75fr) minmax(292px, 0.95fr);
  gap: 18px;
  align-items: stretch;
}
.together-conversation,
.goal-draft-panel {
  min-width: 0;
  border: 1px solid #e0e5da;
  border-radius: 18px;
  background: #fff;
}
.together-conversation {
  min-height: calc(100vh - 60px);
  padding: 24px 30px;
  display: flex;
  flex-direction: column;
}
.together-page-heading,
.goal-draft-heading {
  display: flex;
  gap: 18px;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 18px;
  border-bottom: 1px solid #e0e5da;
}
.goal-draft-heading {
  gap: 10px;
  padding-bottom: 12px;
}
.together-page-heading {
  flex-shrink: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding-bottom: 12px;
}
.together-page-heading > div {
  flex: 0 0 auto;
}
.together-page-heading h1 {
  margin: 0;
  font-size: 22px;
  line-height: 1.3;
}
.together-page-heading p {
  margin: 5px 0 0;
  font-size: 12px;
  line-height: 1.4;
}
.goal-draft-heading h2 {
  font-size: 19px;
}
.goal-draft-heading p {
  font-size: 12px;
  line-height: 1.35;
}
.goal-draft-heading .pill {
  padding: 5px 9px;
  font-size: 11px;
  white-space: nowrap;
}
.goal-state-chip {
  border-radius: 999px;
  padding: 8px 18px;
  color: #295d41;
  background: #eef2e8;
  font-size: 13px;
  white-space: nowrap;
}
.first-login-welcome {
  width: min(100%, 650px);
  margin: auto;
  padding: 48px 0 30px;
  text-align: center;
}
.buddy-mark {
  width: 82px;
  height: 82px;
  margin: 0 auto 18px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: #295d41;
  border: 13px solid #dce8d5;
  letter-spacing: 4px;
  font-weight: 700;
}
.start-option {
  width: min(100%, 570px);
  min-height: 104px;
  margin: 18px auto 0;
  padding: 22px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 28px;
  gap: 14px;
  align-items: center;
  text-align: left;
  border: 1px solid #cdd7c8;
  border-radius: 16px;
  cursor: pointer;
}
.primary-start {
  color: #fff;
  background: #295d41;
  border-color: #295d41;
}
.chat-start {
  color: #25342b;
  background: #fff;
}
.start-option strong,
.start-option small {
  display: block;
}
.start-option strong {
  font-size: 18px;
}
.primary-start small {
  color: #e6f0e9;
}
.start-option-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.16);
  font-size: 24px;
}
.chat-start .start-option-icon {
  color: #295d41;
  background: #eef2e8;
}
.start-option-arrow {
  font-size: 26px;
}
.first-login-layout .buddy-composer {
  margin-top: auto;
}
.main-together:has(.continuous-together-layout) {
  padding: 12px 18px;
}
.continuous-together-layout {
  gap: 14px;
}
.continuous-together-layout .together-conversation {
  height: calc(100dvh - 24px);
  min-height: 0;
  padding: 16px 20px;
}
.continuous-together-layout .conversation-timeline {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
  gap: 14px;
  margin: 12px 0;
}
.continuous-together-layout .conversation-timeline .message {
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 15px;
  line-height: 1.65;
}
.continuous-together-layout .continuous-composer {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #e0e5da;
}
.continuous-together-layout .continuous-composer .buddy-composer {
  margin: 0;
  padding: 0;
  background: transparent;
}
.continuous-composer .composer-box {
  padding: 8px;
}
.continuous-composer .composer-box textarea {
  min-height: 44px;
  max-height: 104px;
  padding-block: 5px;
}
.conversation-resume-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 18px;
  padding: 13px 15px;
  border: 1px solid #d4dfcf;
  border-radius: 12px;
  background: #f8faf6;
}
.conversation-resume-card strong,
.conversation-resume-card small {
  display: block;
}
.together-page-heading .conversation-resume-card {
  flex: 1 1 300px;
  min-width: 0;
  margin: 0;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 9px;
  padding: 8px 10px;
}
.together-page-heading .conversation-resume-card .resume-card-mark {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  font-size: 15px;
}
.conversation-resume-details {
  min-width: 0;
}
.together-page-heading .conversation-resume-card strong,
.together-page-heading .conversation-resume-card small {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.together-page-heading .conversation-resume-card strong {
  font-size: 13px;
}
.together-page-heading .conversation-resume-card small,
.together-page-heading .conversation-resume-card .pill {
  font-size: 11px;
}
.together-page-heading .conversation-resume-card .pill {
  white-space: nowrap;
  padding: 4px 8px;
}
.resume-card-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #fff;
  background: #295d41;
}
.continuous-together-layout .goal-draft-panel {
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
}
.goal-draft-panel {
  padding: 18px;
}
.resume-onboarding-status {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  margin: 18px 0 0;
  padding: 13px 16px;
  border: 1px solid #d4dfcf;
  border-radius: 10px;
  background: #eef2e8;
}
.resume-onboarding-status strong,
.resume-onboarding-status small {
  display: block;
}
.conversation-timeline {
  display: grid;
  align-content: start;
  grid-auto-rows: max-content;
  gap: 12px;
  margin: 20px 0;
  overflow-anchor: none;
}
.conversation-timeline .message {
  width: fit-content;
  max-width: min(78%, 680px);
  position: relative;
  padding: 0;
  margin-bottom: 24px;
  background: transparent;
}
.conversation-timeline .message.user {
  justify-self: end;

}
.conversation-timeline .message-bubble {
  padding: 10px 14px;
  border: 1px solid #e3e8dd;
  border-radius: 14px;
  background: #eef2e8;
}
.conversation-timeline .message.user .message-bubble {
  color: #fff;
  background: #295d41;
}
.conversation-timeline .message.assistant {
  justify-self: start;
}
.continuous-together-layout .conversation-timeline .message.assistant {
  width: min(100%, 780px);
  max-width: 100%;
}
.conversation-timeline .message-status {
  display: block;
  margin-top: 4px;
  color: inherit;
  opacity: 0.72;
}
.conversation-timeline .conversation-action-receipt {
  margin-top: 7px;
}
.conversation-timeline .conversation-progress-link {
  min-height: 28px;
  padding: 3px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.conversation-timeline .message-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 16px;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 0;
  min-height: 0;
}
.conversation-timeline .message-text {
  position: relative;
  overflow-wrap: anywhere;
}
.conversation-timeline .message-meta .message-status {
  margin-top: 0;
}
.conversation-timeline .message-actions {
  display: flex;
  margin-left: auto;
  gap: 4px;
  opacity: 1;
}
.conversation-timeline .message-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  min-width: 28px;
  height: 28px;
  min-height: 28px;
  padding: 5px;
  border: 1px solid transparent;
  border-radius: 5px;
  color: inherit;
  background: transparent;
  box-shadow: none;
  font-size: 12px;
  line-height: 1.4;
  cursor: pointer;
  opacity: 0.8;
}
.conversation-timeline .message-action svg {
  flex: none;
  pointer-events: none;
}
.conversation-timeline .message-action:hover,
.conversation-timeline .message-action:focus-visible {
  border-color: currentColor;
  opacity: 1;
}
.conversation-timeline .message-action:disabled {
  cursor: wait;
  opacity: 0.5;
}
@media (hover: hover) and (pointer: fine) {
  .conversation-timeline .message-actions {
    opacity: 0;
    pointer-events: none;
  }
  .conversation-timeline .message:hover .message-actions,
  .conversation-timeline .message:focus-within .message-actions {
    opacity: 1;
    pointer-events: auto;
  }
}
@media (hover: none), (any-pointer: coarse) {
  .continuous-together-layout .conversation-timeline .message {
    margin-bottom: 40px;
  }
  .conversation-timeline .message-actions {
    opacity: 1;
    pointer-events: auto;
  }
  .conversation-timeline .message-action {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
  }
}
.reply-pending {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 22px;
  padding: 0 2px;
}
.reply-pending i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  animation: reply-pulse 1.2s ease-in-out infinite;
}
.reply-pending i:nth-child(2) { animation-delay: .15s; }
.reply-pending i:nth-child(3) { animation-delay: .3s; }
@keyframes reply-pulse {
  0%, 80%, 100% { opacity: .3; }
  40% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .reply-pending i { animation: none; opacity: .65; }
}
.conversation-timeline .message.streaming .message-text::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 2px;
  height: 1em;
  margin-left: 3px;
  margin-top: 0.15em;
  background: #295d41;
  animation: conversation-caret 0.9s steps(1) infinite;
}
.conversation-timeline .message.streaming.finalizing .message-text::after {
  visibility: hidden;
}
@keyframes conversation-caret {
  50% { opacity: 0; }
}
.goal-draft-panel h2,
.goal-draft-panel p {
  margin-bottom: 5px;
}
.goal-draft-field {
  min-width: 0;
  margin-top: 14px;
}
.goal-supporting-fields {
  margin-top: 15px;
  padding-top: 12px;
  border-top: 1px solid #e0e5da;
}
.goal-supporting-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 0;
  cursor: pointer;
  list-style: none;
}
.goal-supporting-summary::-webkit-details-marker {
  display: none;
}
.goal-supporting-summary-copy {
  display: grid;
  min-width: 0;
  gap: 5px;
}
.goal-supporting-summary-copy strong {
  color: #34463a;
  font-size: 14px;
}
.goal-supporting-summary-line {
  display: block;
  color: #68776d;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.goal-supporting-summary-line > span {
  display: inline-block;
  min-width: 56px;
  margin-right: 6px;
  color: #89938b;
}
.goal-supporting-edit-label {
  flex: 0 0 auto;
  color: #326548;
  font-size: 12px;
  font-weight: 600;
}
.goal-supporting-edit-close,
.goal-supporting-fields[open] .goal-supporting-edit-open {
  display: none;
}
.goal-supporting-fields[open] .goal-supporting-edit-close {
  display: inline;
}
.goal-supporting-editor {
  display: grid;
  grid-template-columns: 1fr;
  gap: 11px 12px;
  padding-top: 12px;
}
.goal-supporting-editor .goal-draft-field {
  margin-top: 0;
}
.goal-field-heading {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 5px;
}
.goal-field-heading small {
  color: #6f7c70;
  font-size: 11px;
}
.goal-draft-field textarea,
.goal-draft-field input {
  width: 100%;
  min-height: 38px;
  padding: 7px 9px;
  font-size: 13px;
}
.goal-value-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 5px;
}
.goal-value-chip {
  display: inline-flex;
  max-width: 100%;
  gap: 4px;
  align-items: center;
  padding: 4px 7px;
  border-radius: 999px;
  color: #295d41;
  background: #eef2e8;
  font-size: 13px;
  line-height: 1.25;
}
.goal-value-chip button {
  width: 18px;
  height: 18px;
  min-height: 0;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
}
.goal-draft-field > p {
  min-height: 52px;
  margin-top: 8px;
  padding: 13px;
  border: 1px solid #e0e5da;
  border-radius: 10px;
  color: #6f7c70;
}
.goal-draft-actions {
  display: grid;
  grid-template-columns: minmax(80px, 0.65fr) minmax(0, 1.35fr);
  gap: 8px;
  margin-top: 15px;
}
.goal-draft-actions button,
.goal-confirm {
  width: 100%;
  min-height: 40px;
  padding: 8px;
  font-size: 15px;
  line-height: 1.35;
}
.goal-confirm {
  white-space: nowrap;
}
.goal-confirm:disabled {
  cursor: default;
}
.goal-confirm[data-matching="true"] {
  animation: none;
  transition: none;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 760px) {
  .example-chip {
    flex-direction: column;
    gap: 4px;
  }
  .goal-details dl div {
    grid-template-columns: 1fr;
    gap: 2px;
  }
  .together-layout {
    grid-template-columns: 1fr;
  }
  .together-conversation {
    min-height: 0;
    padding: 20px;
  }
  .together-page-heading {
    gap: 10px;
  }
  .together-page-heading .conversation-resume-card {
    flex-basis: 100%;
  }
  .continuous-together-layout .together-conversation {
    height: calc(100dvh - 52px);
    max-height: none;
    padding: 14px;
  }
  .main-together:has(.continuous-together-layout) {
    padding: 10px 12px;
  }
  .continuous-together-layout .continuous-composer textarea {
    font-size: 16px;
  }
  .continuous-together-layout .goal-draft-panel {
    height: auto;
    max-height: none;
  }
  .continuous-together-layout .conversation-timeline {
    min-height: 0;
    max-height: none;
  }
  .goal-draft-panel {
    padding: 20px;
  }
  .goal-supporting-editor {
    grid-template-columns: 1fr;
  }
  .first-login-welcome {
    padding-top: 28px;
  }
  .start-option {
    grid-template-columns: 42px minmax(0, 1fr) 20px;
    padding: 17px;
  }
}
@media (max-width: 680px) {
  .continuous-together-layout .together-conversation {
    height: calc(100dvh - 228px);
  }
}
/* MVP-73：桌面双栏下左侧导航固定，不随内容滚动；移动端单栏不固定，避免覆盖内容 */
@media (min-width: 761px) {
  .sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
  }
}
.nav-update-dot {
  position: absolute;
  top: 7px;
  right: 7px;
  display: inline-block;
  color: #d0342c;
  font-size: 12px;
  line-height: 1;
}
.sidebar nav button {
  position: relative;
}
.update-dot {
  display: inline-block;
  color: #d0342c;
  font-size: 13px;
  line-height: 1;
  margin-left: 4px;
}
.preparation-overview-heading .update-dot,
.opportunity-pills .update-dot {
  align-self: flex-start;
}
.debug-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 0 7px;
  border: 1px dashed #9aa79c;
  border-radius: 6px;
  color: #6f7c70;
  font-size: 12px;
  background: #f4f6f1;
}
.manual-import {
  margin-top: 18px;
}
.manual-import > summary {
  font-weight: 600;
}
.opportunity-summary-bar {
  margin: 0 0 16px;
  padding: 13px 16px;
}
.opportunity-toolbar {
  margin: 12px 0 16px;
}
.opportunity-status-toolbar {
  align-items: start;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) minmax(280px, 340px);
  gap: 14px;
  margin: 14px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #dce4d8;
}
.opportunity-status-toolbar .opportunity-tabs {
  margin: 0;
  padding: 0;
  border-bottom: 0;
}
.opportunity-status-toolbar .opportunity-filter-panel {
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.opportunity-status-toolbar .opportunity-filter-controls {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.opportunity-filter-panel {
  padding: 10px 12px;
  border: 1px solid #d8e1d4;
  border-radius: 14px;
  background: #fbfcf9;
}
.opportunity-filter-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.opportunity-filter-search {
  display: flex;
  flex: 1 1 260px;
  max-width: 430px;
  min-width: 220px;
}
.opportunity-filter-search input {
  min-width: 0;
  height: 40px;
  margin: 0;
  border-radius: 10px 0 0 10px;
}
.opportunity-filter-search button {
  flex: 0 0 auto;
  min-width: 64px;
  height: 40px;
  min-height: 40px;
  padding: 7px 14px;
  border-left: 0;
  border-radius: 0 10px 10px 0;
  background: #eef4ea;
  color: #2f593b;
  white-space: nowrap;
}
.opportunity-filter-menu {
  flex: 0 0 auto;
  position: relative;
  margin: 0;
}
.opportunity-filter-menu > summary {
  display: flex;
  flex-wrap: nowrap;
  height: 40px;
  min-height: 40px;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  border: 1px solid #cfdcc9;
  border-radius: 10px;
  background: #fff;
  color: #355640;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  list-style: none;
  white-space: nowrap;
  word-break: keep-all;
}
.opportunity-filter-menu > summary::-webkit-details-marker {
  display: none;
}
.opportunity-filter-menu > summary::after {
  content: "⌄";
  color: #718276;
  font-size: 13px;
}
.opportunity-filter-menu[open] > summary {
  border-color: #7f9f86;
  box-shadow: 0 0 0 2px rgb(45 106 79 / 8%);
}
.filter-count {
  display: inline-grid;
  min-width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  background: #e4eee1;
  color: #285438;
  font-size: 12px;
}
.opportunity-filter-popover {
  position: absolute;
  z-index: 30;
  top: calc(100% + 7px);
  left: 0;
  display: grid;
  width: max-content;
  min-width: 210px;
  max-width: min(340px, calc(100vw - 40px));
  max-height: 320px;
  gap: 3px;
  overflow-y: auto;
  padding: 8px;
  border: 1px solid #d4ded0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 34px rgb(31 55 39 / 14%);
}
.opportunity-filter-option {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  margin: 0;
  padding: 6px 8px;
  border-radius: 8px;
  color: #294333;
  font-size: 14px;
  cursor: pointer;
}
.opportunity-filter-option:hover {
  background: #f1f6ee;
}
.opportunity-filter-option input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #2d6a4f;
}
.opportunity-more-filter-popover {
  left: auto;
  right: 0;
  min-width: 280px;
  gap: 5px;
}
.opportunity-more-filter-popover strong {
  margin: 6px 8px 2px;
  color: #6f7c70;
  font-size: 12px;
  font-weight: 650;
}
.opportunity-more-filter-popover label:last-child {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin: 5px 8px;
}
.opportunity-more-filter-popover select {
  width: 100%;
}
.opportunity-active-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  margin-top: 8px;
  padding: 0;
  border: 0;
}
.opportunity-filter-chip {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  gap: 6px;
  padding: 3px 9px;
  border: 1px solid #cfdbc9;
  border-radius: 999px;
  background: #eef4ea;
  color: #365640;
  font-size: 12px;
}
.opportunity-filter-chip:hover {
  border-color: #9db39f;
  background: #e7efe3;
}
.opportunity-active-filters .link-button {
  min-height: 28px;
  padding: 3px 7px;
  border-color: transparent;
  background: transparent;
  color: #58705f;
  font-size: 12px;
}
.opportunity-filter-empty button {
  margin-top: 10px;
}
.opportunity-status-toolbar label {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
  margin: 0;
  min-width: 0;
  white-space: nowrap;
}
.opportunity-status-toolbar select {
  min-width: 0;
  width: min(260px, 100%);
  height: 40px;
}
.opportunity-batch-control {
  margin-top: 12px;
  padding: 14px 16px;
}
.opportunity-batch-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.opportunity-delivery-settings { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.opportunity-delivery-settings input { max-width: 140px; }
.opportunity-batch-control.embedded {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
}
.opportunity-batch-heading,
.opportunity-batch-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.opportunity-batch-heading h2,
.opportunity-batch-heading p {
  margin: 0;
}
.opportunity-batch-heading p {
  margin-top: 4px;
}
.opportunity-batch-progress {
  min-width: 300px;
  margin: 0;
  color: #6f7c70;
  font-size: 12px;
}
.opportunity-batch-progress.running {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  min-width: 320px;
}
.opportunity-batch-progress-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  line-height: 1.25;
}
.opportunity-batch-stage {
  overflow: hidden;
  color: #234333;
  font-size: 13px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.opportunity-batch-count {
  flex: 0 0 auto;
  color: #466653;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.opportunity-batch-progress progress {
  width: 100%;
  height: 6px;
  accent-color: #2d6a4f;
}
.opportunity-batch-detail {
  overflow: hidden;
  color: #6f7c70;
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.opportunity-batch-progress:not(.running) {
  min-width: 0;
}
.opportunity-batch-status {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-width: 300px;
  line-height: 1.35;
}
.opportunity-batch-status strong {
  color: #234333;
  font-size: 13px;
  font-weight: 700;
}
.opportunity-batch-status small {
  color: #6f7c70;
  font-size: 11px;
}
@media (max-width: 760px) {
  .opportunity-status-toolbar {
    align-items: stretch;
    grid-template-columns: 1fr;
  }
  .opportunity-status-toolbar label {
    width: 100%;
  }
  .opportunity-status-toolbar select {
    flex: 1 1 auto;
    width: auto;
  }
  .opportunity-filter-search {
    max-width: none;
    min-width: 100%;
  }
  .opportunity-status-toolbar .opportunity-filter-controls {
    flex-wrap: wrap;
  }
  .opportunity-filter-menu {
    flex: 0 0 auto;
  }
  .opportunity-filter-menu > summary {
    justify-content: space-between;
  }
  .opportunity-filter-popover,
  .opportunity-more-filter-popover {
    right: auto;
    left: 0;
  }
  .opportunity-batch-heading {
    align-items: stretch;
    flex-direction: column;
  }
  .opportunity-batch-progress {
    min-width: 0;
    width: 100%;
  }
  .opportunity-batch-progress.running {
    min-width: 0;
  }
}
@media (min-width: 761px) and (max-width: 1500px) {
  .opportunity-status-toolbar {
    grid-template-columns: minmax(0, 1fr) max-content;
  }
  .opportunity-status-toolbar .opportunity-filter-panel {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}
.summary-bar-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}
.summary-bar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.summary-bar-actions .opportunity-batch-control > .warning {
  max-width: 240px;
  margin: 0;
  font-size: 12px;
}
.summary-bar-goal {
  display: flex;
  gap: 12px;
  align-items: center;
  min-width: 0;
}
.summary-bar-goal-label {
  flex: 0 0 auto;
  margin: 0;
}
.summary-bar-goal > div {
  min-width: 0;
}
.summary-bar-goal strong {
  display: block;
  overflow-wrap: anywhere;
}
.summary-bar-goal-text {
  color: #263e2d;
  font-size: 16px;
  line-height: 1.5;
}
.summary-bar-goal .muted {
  margin: 0;
  font-size: 13px;
}
.summary-bar-quota {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 190px;
}
.summary-bar-quota p {
  margin: 0;
  font-size: 14px;
}
.summary-bar-quota progress {
  width: 100%;
  height: 10px;
  accent-color: #295d41;
}
.summary-bar-details {
  display: block;
  gap: 18px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #d3dccd;
}
.opportunity-card {
  padding: 18px 20px;
  border-color: #d8e1d4;
  box-shadow: 0 6px 20px rgb(39 69 48 / 5%);
}
.opportunity-card-header {
  gap: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e6ebe2;
}
.summary-bar-goal-details h3,
.summary-bar-goal-details p {
  margin: 4px 0;
}
@media (max-width: 760px) {
  .opportunity-layout {
    display: block;
  }
  .opportunity-rail {
    display: none;
  }
  .summary-bar-details {
    grid-template-columns: 1fr;
  }
  .summary-bar-head {
    grid-template-columns: 1fr;
  }
  .summary-bar-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .opportunity-batch-control.embedded {
    flex-wrap: wrap;
  }
}
/* MVP-75：Job信息三行标题与维度标签 */
.job-title-block {
  min-width: 0;
}
.job-title-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 8px;
  row-gap: 6px;
}
.job-title-line + .job-title-line {
  margin-top: 8px;
}
.job-title-line h3 {
  margin: 0;
}
.job-company,
.job-cities {
  font-weight: 600;
}
.job-company {
  font-size: 16px;
}
.opportunity-card .opportunity-card-title {
  color: #203528;
  font-size: 19px;
  font-weight: 720;
  line-height: 1.42;
}
.opportunity-card .job-company,
.opportunity-card .job-cities {
  color: #294333;
  font-size: 16px;
  font-weight: 680;
  line-height: 1.45;
}
.opportunity-card .job-title-block {
  flex: 1 1 auto;
}
.opportunity-card .dimension-explainer > .dim-tag,
.opportunity-card .match-degree-pill {
  min-height: 26px;
  padding: 2px 9px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
}
.opportunity-card .job-primary-line .dimension-explainer,
.opportunity-card .job-company-line .dimension-explainer,
.opportunity-card .job-city-line .dimension-explainer {
  align-items: center;
}
.opportunity-card [data-company-profile-for] {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  min-width: 0;
  max-width: 100%;
}
.opportunity-card .profile-fact-tag,
.opportunity-card .salary-tag {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
}
.opportunity-card .gdp-tag {
  max-width: 100%;
  white-space: normal;
  text-align: left;
}
.opportunity-card .city-dimension-group {
  align-items: center;
  gap: 7px;
  padding-right: 10px;
}
.main-opportunities .opportunity-summary-bar {
  border-color: #d8e1d4;
  box-shadow: 0 4px 16px rgb(39 69 48 / 4%);
}
.main-opportunities .opportunity-status-toolbar {
  margin: 12px 0 16px;
}
.main-opportunities .opportunity-tabs {
  margin: 0;
}
.main-opportunities .opportunity-card-aside {
  min-width: 220px;
}
.city-dimension-group {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  padding-right: 12px;
  border-right: 1px solid #d7dfd2;
}
.city-dimension-group:last-child {
  padding-right: 0;
  border-right: 0;
}
.job-other-supported-cities {
  display: inline-flex;
  max-width: 100%;
}
.other-supported-city-section {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  flex-basis: 100%;
  min-width: 0;
}
.other-supported-city-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 16px;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.other-supported-city {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.other-supported-city-name {
  color: #445343;
  font-size: 13px;
}
.other-supported-city-level {
  color: #73806d;
  font-size: 12px;
  white-space: nowrap;
}
.other-supported-cities-tag-explainer,
.other-supported-cities-tag {
  max-width: 100%;
}
.other-supported-cities-tag {
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
}
.dimension-explainer {
  position: relative;
  display: inline-flex;
  max-width: 100%;
}
.dimension-explainer > .dim-tag {
  font: inherit;
  cursor: help;
}
.dim-tag {
  display: inline-block;
  min-height: 28px;
  padding: 3px 10px;
  border: 1px solid #cfdcc6;
  border-radius: 999px;
  background: #eef4ea;
  color: #3c5a44;
  font-size: 12px;
  line-height: 1.5;
  white-space: nowrap;
}
.dim-tag.muted-tag {
  border-style: solid;
  background: #eef4ea;
  color: #3c5a44;
}
.dim-tag.salary-tag {
  background: #eef4ea;
  border-color: #cfdcc6;
  color: #3c5a44;
}
.dim-tag.timeline-tag {
  background: #eef4ea;
  border-color: #cfdcc6;
  color: #3c5a44;
}
.dim-tag.dim-estimated,
.dim-tag.dim-inferred,
.dim-tag.dim-computed,
.dim-tag.dim-verified_historical,
.dim-tag.dim-verified_third_party,
.dim-tag.dim-verified_media_ranking,
.dim-tag.dim-model_assessment {
  border-style: solid;
}
.dim-tag.dim-estimated,
.dim-tag.dim-inferred,
.dim-tag.dim-model_assessment {
  background: #eef4ea;
  border-color: #cfdcc6;
  color: #3c5a44;
}
.dim-tag.dim-recruitment_self_reported,
.dim-tag.dim-recruitment_claim_corroborated {
  background: #eef4ea;
  border-color: #cfdcc6;
  color: #3c5a44;
}
.dim-tag.dim-unknown {
  background: #eef4ea;
  border-color: #cfdcc6;
  color: #3c5a44;
}
.review-tag {
  text-decoration: none;
  background: #eef4ea;
  border-color: #cfdcc6;
  color: #3c5a44;
}
.review-tag:hover {
  border-color: #9eb493;
}
.dimension-explanation {
  display: none;
  position: fixed;
  z-index: 40;
  box-sizing: border-box;
  width: clamp(280px, 60%, 520px);
  max-height: 340px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  touch-action: pan-y;
  pointer-events: auto;
  padding: 12px;
  border: 1px solid #bdcbb8;
  border-radius: 10px;
  background: #fff;
  color: #2f3b31;
  box-shadow: 0 10px 28px rgb(33 50 37 / 18%);
  white-space: normal;
  text-align: left;
}
.dimension-explainer[data-open="true"] > .dimension-explanation {
  display: block;
}
.dimension-explainer[data-open="true"] {
  z-index: 39;
}
.dimension-explanation::before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  height: 8px;
}
.dimension-explanation[data-placement="bottom"]::before {
  bottom: 100%;
}
.dimension-explanation[data-placement="top"]::before {
  top: 100%;
}
.dimension-explanation-label,
.dimension-explanation p,
.dimension-explanation blockquote {
  display: block;
  margin: 4px 0;
}
.dimension-information-type {
  color: #405c46;
  font-weight: 700;
}
.dimension-source {
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px dashed #dce4d8;
  overflow-wrap: anywhere;
}
.dimension-source-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.review-classification {
  display: inline-flex;
  padding: 2px 7px;
  border: 1px solid;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.review-verifiable-fact {
  color: #28613f;
  border-color: #9cc4aa;
  background: #edf7f0;
}
.review-personal-opinion {
  color: #365979;
  border-color: #b9cde3;
  background: #eef3fb;
}
.review-unverified-claim,
.review-unknown {
  color: #815625;
  border-color: #ddc095;
  background: #fff6e8;
}
.dimension-source-meta {
  color: #657068;
  font-size: 13px;
}
@media (max-width: 680px) {
  .city-dimension-group,
  .dimension-explainer {
    min-width: 0;
    max-width: 100%;
  }
  .dim-tag {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: left;
  }
  .dimension-explanation {
    width: auto;
    max-height: 58vh;
  }
  .match-degree-pill {
    white-space: normal;
  }
  .match-degree-facts {
    grid-template-columns: 1fr;
  }
}
/* 岗位维度固定高度滚动框 */
.job-dimension {
  border: 1px solid #d3dccd;
  border-radius: 10px;
  margin: 10px 0;
  padding: 10px 12px;
  background: #fbfcf8;
}
.job-dimension-head strong {
  display: block;
}
.job-dimension-head .muted {
  margin: 2px 0 8px;
  font-size: 12px;
}
.jd-section-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 9px 0 8px;
}
.jd-section-panel h4 {
  margin: 0 0 6px;
}
.jd-page-window {
  position: relative;
  box-sizing: border-box;
  height: 220px;
  min-height: 220px;
  max-height: 220px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: auto;
  scrollbar-gutter: stable;
  border-top: 1px dashed #dfe7da;
  border-bottom: 1px dashed #dfe7da;
  padding: 10px 4px;
}
.jd-page-window:focus-visible {
  outline: 2px solid #6f9278;
  outline-offset: 2px;
}
.jd-source-page {
  min-height: 100%;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.9;
}
.jd-kind-empty {
  margin: 0;
  padding: 8px 4px;
}
.jd-source-unit {
  border-radius: 3px;
}
.jd-section-start:not(:first-child)::before {
  content: "";
  display: block;
  height: 8px;
}
.jd-source-unit[tabindex="0"] {
  cursor: help;
  outline-offset: 2px;
}
.jd-inline-supported {
  color: #225c34;
  background: #e7f5e9;
  box-shadow: inset 0 -2px #4f9a62;
}
.jd-inline-unmet {
  color: #8a2f24;
  background: #fff0ed;
  box-shadow: inset 0 -2px #c95042;
}
.jd-inline-neutral {
  color: inherit;
}
.jd-group-heading {
  display: block;
  margin-top: 10px;
  color: #344b39;
  font-weight: 700;
}
.jd-group-heading.jd-section-start::before {
  display: none;
}
.jd-unit-explanation {
  display: none;
  position: fixed;
  z-index: 42;
  box-sizing: border-box;
  width: clamp(280px, 60%, 520px);
  max-height: 150px;
  overflow: auto;
  pointer-events: none;
  padding: 10px 12px;
  border: 1px solid #bfcdbb;
  border-radius: 9px;
  background: #fff;
  color: #2f3b31;
  box-shadow: 0 8px 24px rgb(41 57 43 / 16%);
  line-height: 1.5;
  white-space: normal;
}
.jd-unit-explanation strong,
.jd-unit-explanation span {
  display: block;
}
.jd-unit-explanation span + span {
  margin-top: 4px;
}
.jd-source-unit[data-open="true"] > .jd-unit-explanation {
  display: block;
}
.jd-pager {
  display: grid;
  grid-template-columns: minmax(92px, 1fr) auto minmax(92px, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 40px;
  margin-top: 8px;
}
.jd-pager-empty {
  visibility: hidden;
}
.jd-pager button {
  min-height: 32px;
  padding: 4px 12px;
  font-size: 13px;
}
.jd-pager button:first-child {
  justify-self: start;
}
.jd-pager button:last-child {
  justify-self: end;
}
.jd-pager button:disabled {
  cursor: default;
  opacity: 0.42;
}
.jd-page-indicator {
  color: #6f7c70;
  font-size: 13px;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .jd-section-columns {
    grid-template-columns: 1fr;
  }
  .jd-page-window {
    height: 260px;
    min-height: 260px;
    max-height: 260px;
  }
  .jd-pager {
    grid-template-columns: minmax(76px, 1fr) auto minmax(76px, 1fr);
    gap: 6px;
  }
  .jd-pager button {
    padding-inline: 8px;
  }
}

/* 2026-10-17 用户返工：机会页平铺翻页（每页20条） */
.list-pager {
  justify-content: center;
  margin: 18px 0;
}
/* 官网采用中文产品常见的直接表达与编辑式秩序：真实产品截图，不用渐变和悬浮卡片制造“AI感”。 */
.official-site.login-shell {
  --site-paper: #ffffff;
  --site-surface: #ffffff;
  --site-ink: #15271f;
  --site-muted: #617068;
  --site-green: #245c42;
  --site-green-dark: #19452f;
  --site-line: #cbd2c8;
  --site-nav-background: rgba(255, 255, 255, 0.94);
  --site-soft: #f3f5ef;
  --site-chip: #e8ede4;
  --site-hover: #ebece5;
  --site-primary: #19452f;
  --site-primary-hover: #103923;
  --site-primary-text: #ffffff;
  --site-text-small: 12px;
  --site-text-body: 15px;
  --site-text-lead: 17px;
  --site-text-nav: 14px;
  --site-text-item-title: 18px;
  --site-title-section: clamp(30px, 3vw, 42px);
  --site-title-hero: clamp(44px, 4.5vw, 60px);
  --site-weight-label: 560;
  --site-weight-title: 680;
  --site-leading-body: 1.65;
  --site-leading-title: 1.24;
  width: 100%;
  color: var(--site-ink);
  background: var(--site-paper);
  font-family: "PingFang SC", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;
  font-size: var(--site-text-body);
  line-height: var(--site-leading-body);
  font-variant-numeric: tabular-nums;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
.official-site .official-nav {
  min-height: 72px;
  padding: 9px max(28px, calc((100vw - 1160px) / 2));
  grid-template-columns: minmax(230px, 1fr) auto minmax(230px, 1fr);
  border-color: var(--site-line);
  background: var(--site-nav-background);
  backdrop-filter: blur(12px);
}
.official-site .official-brand {
  gap: 0;
}
.official-site .official-brand .brand {
  color: var(--site-ink);
  font-size: 21px;
  font-weight: 760;
  letter-spacing: 0.04em;
}
.official-site .official-brand .brand-positioning {
  color: var(--site-muted);
  font-size: var(--site-text-small);
  font-weight: var(--site-weight-label);
}
.official-site .official-nav-links {
  gap: 34px;
}
.official-site .official-nav-links a {
  color: var(--site-muted);
  font-size: var(--site-text-nav);
  font-weight: var(--site-weight-label);
}
.official-site .official-action {
  min-height: 44px;
  padding: 10px 18px;
  border-color: var(--site-line);
  border-radius: 8px;
  color: var(--site-green-dark);
  background: transparent;
  font-size: var(--site-text-body);
  font-weight: 650;
  box-shadow: none;
}
.official-site .official-action:hover {
  transform: none;
  border-color: var(--site-green);
  background: var(--site-hover);
}
.official-site .official-action.primary {
  color: var(--site-primary-text);
  border-color: var(--site-primary);
  background: var(--site-primary);
}
.official-site .official-action.primary:hover {
  background: var(--site-primary-hover);
}
.official-site .official-nav-login {
  justify-self: end;
  min-height: 38px;
  padding: 7px 18px;
}
.official-site .official-hero {
  width: min(1160px, calc(100% - 56px));
  min-height: 610px;
  padding: 78px 0 74px;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 0.78fr);
  align-items: center;
  gap: clamp(64px, 8vw, 112px);
}
.official-site .official-eyebrow {
  margin-bottom: 16px;
  color: var(--site-green);
  font-size: var(--site-text-small);
  font-weight: 720;
  letter-spacing: 0.08em;
}
.official-site .official-hero h1 {
  max-width: 650px;
  color: var(--site-ink);
  font-size: var(--site-title-hero);
  line-height: 1.16;
  letter-spacing: -0.04em;
  text-wrap: balance;
}
.official-site .official-hero-support {
  max-width: 610px;
  margin-top: 24px;
  color: var(--site-muted);
  font-size: var(--site-text-lead);
  line-height: 1.75;
}
.official-site .official-hero-actions {
  margin-top: 30px;
  gap: 10px;
}
.official-site .official-hero-signals {
  margin-top: 24px;
  gap: 8px 24px;
  color: var(--site-muted);
  font-size: var(--site-text-small);
  font-weight: 560;
}
.official-site .official-hero-signals span {
  gap: 8px;
}
.official-site .official-hero-signals span::before {
  width: 4px;
  height: 4px;
  background: var(--site-green);
}
.official-decision-path {
  align-self: stretch;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.official-decision-heading {
  padding: 17px 0 14px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: var(--site-ink);
  font-size: var(--site-text-nav);
  font-weight: 700;
}
.official-decision-heading small {
  color: var(--site-muted);
  font-size: var(--site-text-small);
  font-weight: 500;
}
.official-decision-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.official-decision-list li {
  padding: 22px 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 18px;
}
.official-decision-list li + li {
  border-top: 1px solid var(--site-line);
}
.official-decision-list li > span {
  color: var(--site-muted);
  font-size: var(--site-text-small);
  font-weight: 700;
}
.official-decision-list strong {
  color: var(--site-ink);
  font-size: var(--site-text-item-title);
  font-weight: var(--site-weight-title);
}
.official-decision-list p {
  margin: 7px 0 0;
  color: var(--site-muted);
  font-size: 14px;
  line-height: 1.65;
}
.official-site .official-value {
  width: min(1160px, calc(100% - 56px));
  padding: 68px 0;
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(58px, 8vw, 104px);
  border: 0;
}
.official-site .official-value-intro h2 {
  max-width: 430px;
  margin: 0;
}
.official-value-intro h2 span,
.official-entry-copy h2 span {
  display: block;
}
.official-value-list {
  display: grid;
}
.official-site .official-value article {
  min-height: 0;
  padding: 19px 0;
  grid-template-columns: 44px minmax(0, 1fr);
  align-content: start;
  gap: 16px;
  border-top: 0;
}
.official-site .official-value article:last-child {
  border-bottom: 0;
}
.official-site .official-value article + article {
  border-top: 1px solid var(--site-line);
  border-left: 0;
}
.official-site .official-value-list h2 {
  margin-bottom: 6px;
  color: var(--site-ink);
  font-size: var(--site-text-item-title);
  font-weight: var(--site-weight-title);
}
.official-site .official-value p {
  color: var(--site-muted);
  font-size: var(--site-text-body);
  line-height: 1.65;
}
.official-site .official-capabilities,
.official-site .official-trust {
  width: min(1160px, calc(100% - 56px));
  padding: 104px 0;
}
.official-site .official-section-heading {
  max-width: 760px;
  display: block;
}
.official-site .official-section-heading .official-eyebrow {
  margin-bottom: 16px;
}
.official-site .official-section-heading h2,
.official-site .official-section-heading .official-section-note {
  grid-column: auto;
}
.official-site .official-value-intro h2,
.official-site .official-section-heading h2,
.official-site .official-journey h2,
.official-site .official-trust h2,
.official-site .official-entry-copy h2 {
  color: var(--site-ink);
  font-size: var(--site-title-section);
  line-height: var(--site-leading-title);
  letter-spacing: -0.035em;
  text-wrap: balance;
}
.official-site .official-section-note {
  max-width: 620px;
  margin: 16px 0 0;
  color: var(--site-muted);
  font-size: var(--site-text-body);
  line-height: var(--site-leading-body);
}
.official-site .official-capability-track {
  margin-top: 56px;
  display: grid;
  grid-template-columns: 1fr;
}
.official-site .official-capability-track::before {
  display: none;
}
.official-site .official-capability-track article {
  min-height: 112px;
  padding: 22px 0;
  display: grid;
  grid-template-columns: 44px 160px minmax(0, 1fr) minmax(260px, 0.82fr);
  align-items: center;
  gap: 22px;
  border-top: 1px solid var(--site-line);
  text-align: left;
}
.official-site .official-capability-track article:last-child {
  border-bottom: 1px solid var(--site-line);
}
.official-site .official-capability-track .official-index {
  width: auto;
  height: auto;
  margin: 0;
  display: block;
  border: 0;
  border-radius: 0;
  color: var(--site-muted);
  background: transparent;
  font-size: var(--site-text-small);
}
.official-site .official-capability-track h3 {
  margin: 0;
  color: var(--site-ink);
  font-size: var(--site-text-item-title);
  font-weight: var(--site-weight-title);
}
.official-site .official-capability-outcome {
  color: var(--site-muted);
  font-size: var(--site-text-body);
  line-height: var(--site-leading-body);
}
.official-site .official-capability-proof {
  min-height: 0;
  margin: 0;
  padding: 0;
  gap: 7px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.official-site .official-capability-proof-items {
  gap: 0;
}
.official-site .official-capability-proof-items span {
  padding: 0;
  border-radius: 0;
  color: var(--site-green);
  background: transparent;
  font-size: var(--site-text-small);
}
.official-site .official-capability-proof-items span + span::before {
  margin: 0 7px;
  content: "·";
  color: #89938c;
}
.official-site .official-capability-proof small {
  color: var(--site-muted);
  font-size: var(--site-text-small);
}
.official-site .official-journey {
  width: 100%;
  padding: 88px max(28px, calc((100vw - 1160px) / 2));
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(58px, 8vw, 104px);
  border-top: 1px solid var(--site-line);
  border-bottom: 1px solid var(--site-line);
  border-radius: 0;
  color: var(--site-ink);
  background: var(--site-soft);
}
.official-site .official-journey .official-eyebrow,
.official-site .official-journey-note,
.official-site .official-journey-steps li > span {
  color: var(--site-green);
}
.official-site .official-journey h2,
.official-site .official-journey-steps h3 {
  color: var(--site-ink);
}
.official-site .official-journey-note {
  max-width: 430px;
  margin: 22px 0 0;
  line-height: var(--site-leading-body);
}
.official-site .official-journey-steps li {
  padding: 24px 0;
  border-color: var(--site-line);
}
.official-site .official-journey-steps p {
  color: var(--site-muted);
  font-size: var(--site-text-body);
}
.official-site .official-trust {
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(58px, 8vw, 104px);
}
.official-site .official-trust-copy .official-section-note {
  margin-top: 22px;
}
.official-site .official-trust-boundary {
  border-color: var(--site-line);
  border-radius: 8px;
  background: var(--site-surface);
}
.official-site .official-trust-items span {
  border-radius: 4px;
  color: var(--site-green);
  background: var(--site-chip);
}
.official-site .official-entry {
  width: min(1160px, calc(100% - 56px));
  margin: 0 auto 32px;
  padding: 72px 0;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: clamp(58px, 8vw, 104px);
  border-top: 1px solid var(--site-line);
  border-bottom: 1px solid var(--site-line);
  border-radius: 0;
  background: transparent;
}
.official-site .official-entry-copy p:last-child {
  color: var(--site-muted);
}
.official-site .official-footer {
  width: min(1160px, calc(100% - 56px));
  border: 0;
  color: var(--site-muted);
}
.official-site .official-footer strong {
  color: var(--site-ink);
}
html[data-theme="light"] .official-site.login-shell {
  --site-paper: #f4f2eb;
  --site-surface: #fffdf8;
  --site-ink: #1d3027;
  --site-muted: #627168;
  --site-line: #c8d1c4;
  --site-nav-background: rgba(244, 242, 235, 0.94);
  --site-soft: #ebece5;
  --site-chip: #e1e7dd;
  --site-hover: #e4e6df;
}
html[data-theme="dark"] .official-site.login-shell {
  --site-paper: #18211d;
  --site-surface: #202b25;
  --site-ink: #edf3ee;
  --site-muted: #abb8b0;
  --site-green: #8fc4a0;
  --site-green-dark: #c2deca;
  --site-line: #45564b;
  --site-nav-background: rgba(24, 33, 29, 0.95);
  --site-soft: #202b25;
  --site-chip: #2a3a31;
  --site-hover: #2a3931;
  --site-primary: #dbe8df;
  --site-primary-hover: #edf3ee;
  --site-primary-text: #173126;
}
.official-site .public-theme-control {
  color: var(--site-ink);
}
.official-site .public-theme-trigger,
.official-site .public-theme-menu {
  border-color: var(--site-line);
  color: var(--site-ink);
  background: var(--site-surface);
}
.official-site .public-theme-trigger-label,
.official-site .public-theme-chevron,
.official-site .public-theme-option {
  color: var(--site-muted);
}
.official-site .public-theme-trigger:hover,
.official-site .public-theme-control.is-open .public-theme-trigger {
  border-color: var(--site-green);
  background: var(--site-soft);
}
.official-site .public-theme-option:hover,
.official-site .public-theme-option.selected,
html[data-theme="white"] .official-site [data-public-theme="white"],
html[data-theme="light"] .official-site [data-public-theme="light"],
html[data-theme="dark"] .official-site [data-public-theme="dark"] {
  color: var(--site-ink);
  background: var(--site-surface);
}
.login-page {
  color: var(--app-ink);
  background: var(--app-paper);
}
.login-page-nav {
  border-color: var(--app-line);
}
.login-back-link,
.login-page .official-eyebrow,
.login-page .login-eyebrow {
  color: var(--app-green);
}
.login-page-copy > p:last-child,
.login-loading-copy,
.login-page :is(.phone-login-feedback, .login-availability, .operator-login-collapsed > summary) {
  color: var(--app-muted);
}
.login-page-panel,
.login-page .login-auth {
  border-color: var(--app-line-strong);
  color: var(--app-ink);
  background: var(--app-surface);
  box-shadow: 0 20px 55px rgba(14, 28, 20, 0.08);
}
.login-page :is(input, textarea, select) {
  border-color: var(--app-line-strong);
  color: var(--app-ink);
  background: var(--app-surface);
}
.login-page .login-availability {
  background: transparent;
}
.login-page .operator-login {
  border-color: var(--app-line);
}
.login-page .login-divider::before,
.login-page .login-divider::after {
  background: var(--app-line);
}
.public-theme-trigger:focus-visible,
.public-theme-option:focus-visible {
  outline: 2px solid var(--app-green);
  outline-offset: 2px;
}
html[data-theme="dark"] .login-page-panel,
html[data-theme="dark"] .login-page .login-auth {
  box-shadow: none;
}
html[data-theme="dark"] .official-site :is(
  .official-trust-label strong,
  .official-trust-private p,
  .official-trust-public p,
  .official-trust-controls
) {
  color: var(--site-muted);
}
html[data-theme="dark"] .official-site .official-trust-controls {
  border-color: var(--site-line);
  background: var(--site-soft);
}
@media (max-width: 900px) {
  .official-site .official-nav {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .official-site .official-nav-links {
    display: none;
  }
  .official-site .official-hero {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 58px;
  }
  .official-site .official-decision-path {
    min-height: 0;
  }
  .official-site .official-capability-track article {
    grid-template-columns: 40px 150px minmax(0, 1fr);
  }
  .official-site .official-capability-proof {
    grid-column: 3;
  }
}
@media (max-width: 760px) {
  .official-site .official-nav {
    padding: 8px 18px;
  }
  .official-nav-actions,
  .login-page-nav-actions {
    gap: 8px;
  }
  .public-theme-trigger {
    min-height: 34px;
    padding-inline: 9px;
  }
  .public-theme-menu {
    width: 156px;
  }
  .official-site .official-hero,
  .official-site .official-value,
  .official-site .official-capabilities,
  .official-site .official-trust,
  .official-site .official-entry,
  .official-site .official-footer {
    width: calc(100% - 36px);
  }
  .official-site .official-hero {
    padding: 62px 0 58px;
  }
  .official-site .official-hero h1 {
    font-size: clamp(38px, 11vw, 46px);
  }
  .official-site .official-hero-support {
    font-size: 16px;
  }
  .official-site .official-hero-actions {
    grid-template-columns: 1fr;
  }
  .official-site .official-value,
  .official-site .official-section-heading,
  .official-site .official-journey,
  .official-site .official-trust,
  .official-site .official-entry {
    grid-template-columns: 1fr;
  }
  .official-site .official-value {
    padding: 58px 0;
    gap: 44px;
  }
  .official-site .official-section-heading h2,
  .official-site .official-section-heading .official-section-note {
    grid-column: auto;
  }
  .official-site .official-capabilities,
  .official-site .official-trust {
    padding: 86px 0;
  }
  .official-site .official-capability-track {
    margin-top: 50px;
  }
  .official-site .official-capability-track article {
    min-height: 0;
    padding: 24px 0;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px 14px;
  }
  .official-site .official-capability-track h3,
  .official-site .official-capability-outcome,
  .official-site .official-capability-proof {
    grid-column: 2;
  }
  .official-site .official-journey {
    width: 100%;
    padding: 72px 18px;
    gap: 46px;
  }
  .official-site .official-entry {
    margin-bottom: 20px;
    padding: 60px 0;
    gap: 38px;
  }
  .official-site .official-footer {
    padding-bottom: 28px;
  }
}

/* 登录后的外观只改变显示层，不改变任何业务状态或文档内容。 */
html[data-theme="dark"] body,
html[data-theme="dark"] .shell,
html[data-theme="dark"] .main {
  color: var(--app-ink);
  background: var(--app-paper);
}
html[data-theme="dark"] .sidebar {
  border-color: var(--app-line);
  background: var(--app-sidebar);
}
html[data-theme="dark"] .sidebar :is(.brand-positioning, .brand-slogan, .sidebar-account-trigger-copy small),
html[data-theme="dark"] :is(.muted, small, .source, .meta) {
  color: var(--app-muted);
}
html[data-theme="dark"] .sidebar nav button {
  color: #b9c5bd;
}
html[data-theme="dark"] .sidebar nav button:hover,
html[data-theme="dark"] .sidebar-account-trigger:hover,
html[data-theme="dark"] .sidebar-account-trigger.selected,
html[data-theme="dark"] .sidebar-account.is-open .sidebar-account-trigger,
html[data-theme="dark"] .sidebar-account-menu-item:hover,
html[data-theme="dark"] .sidebar-account-menu-item.selected {
  color: #e8eee9;
  background: #26342c;
}
html[data-theme="dark"] .sidebar nav button.selected {
  color: #e8eee9;
  background: var(--app-green-soft);
}
html[data-theme="dark"] .shell :is(button, input, textarea, select) {
  border-color: var(--app-line-strong);
  color: var(--app-ink);
  background: var(--app-surface);
}
html[data-theme="dark"] .shell :is(.sidebar-account-trigger, .sidebar-account-menu-item) {
  border-color: transparent;
  background: transparent;
}
html[data-theme="dark"] .shell :is(.sidebar-account-trigger:hover, .sidebar-account-trigger.selected, .sidebar-account-menu-item:hover, .sidebar-account-menu-item.selected),
html[data-theme="dark"] .sidebar-account.is-open .sidebar-account-trigger {
  background: #26342c;
}
html[data-theme="dark"] .shell button:hover {
  background: #2a3931;
}
html[data-theme="dark"] .shell :is(button.primary, .primary-start, .composer-send) {
  border-color: #71a382;
  color: #fff;
  background: #356c4c;
}
html[data-theme="dark"] .shell :is(
  .card,
  .workspace-card,
  .preparation-stage-tabs,
  .preparation-stage-queue,
  .preparation-stage-content,
  .preparation-stage-panel,
  .preparation-overview-card,
  .preparation-queue-card,
  .together-conversation,
  .goal-draft-panel,
  .composer-box,
  .job-dimension,
  .jd-page-window,
  .fact-card,
  .message,
  .materials-latest-resume,
  .materials-resume-history,
  .materials-resume-source,
  .resume-version-card,
  .account-section
) {
  border-color: var(--app-line);
  color: var(--app-ink);
  background: var(--app-surface);
}
html[data-theme="dark"] .shell :is(
  .workspace-card,
  .preparation-stage-panel,
  .resume-workbench-summary,
  .preparation-context,
  .conversation-resume-card,
  .resume-insight-line,
  .opportunity-next-action,
  .supporting-info,
  .system-details,
  blockquote,
  pre
) {
  border-color: var(--app-line);
  color: var(--app-ink);
  background: var(--app-surface-soft);
}
html[data-theme="dark"] .shell :is(.pill, .goal-value-chip, .goal-state-chip, .opportunity-tab.active) {
  border-color: #465b4d;
  color: #d7e7dc;
  background: var(--app-green-soft);
}
html[data-theme="dark"] .conversation-timeline .message.assistant .message-bubble {
  border-color: #3c4a42;
  background: #29342f;
}
html[data-theme="dark"] .conversation-timeline .message.user .message-bubble {
  border-color: #477c5b;
  color: #fff;
  background: #356c4c;
}
html[data-theme="dark"] .shell :is(.preparation-stage-tab, .opportunity-tab, .summary-bar, .opportunity-status-toolbar) {
  border-color: var(--app-line);
  color: var(--app-ink);
  background: transparent;
}
html[data-theme="dark"] .preparation-stage-tab.selected {
  color: #fff;
  background: #356c4c;
}
html[data-theme="dark"] .preparation-stage-tab:not(:last-child)::after {
  color: #708078;
}
html[data-theme="dark"] .shell a {
  color: #9bc4aa;
}
html[data-theme="dark"] .empty {
  border-color: var(--app-line-strong);
  color: var(--app-muted);
}
html[data-theme="dark"] .warning {
  border-color: #6b5731;
  color: #ead6a8;
  background: #3a3222;
}
html[data-theme="dark"] .theme-option.selected {
  border-color: #83b491;
  box-shadow: inset 0 0 0 1px #83b491;
}
html[data-theme="dark"] .resume-editor-overlay,
html[data-theme="dark"] .resume-editor-fullscreen,
html[data-theme="dark"] .resume-document-workspace {
  background: #151d19;
}
html[data-theme="dark"] :is(
  .resume-editor-header,
  .resume-editor-save,
  .resume-editor-side-panel,
  .resume-workspace-overview,
  .resume-workspace-insights,
  .resume-original-heading,
  .resume-version-toolbar,
  .resume-ai-comments,
  .resume-ai-comment,
  .resume-ai-comments-empty
) {
  border-color: var(--app-line);
  color: var(--app-ink);
  background: var(--app-surface);
}
html[data-theme="dark"] .resume-preview-host,
html[data-theme="dark"] .native-pdf-preview,
html[data-theme="dark"] .native-pdf-pages,
html[data-theme="dark"] .native-pdf-page {
  background: #fff;
}
@media (max-width: 680px) {
  .theme-options {
    grid-template-columns: 1fr;
  }
}
.extension-connect-page {
  min-height: 100vh;
  width: min(100% - 40px, 960px);
  margin: 0 auto;
  padding: 36px 0 80px;
}
.extension-connect-card {
  width: min(100%, 620px);
  margin: clamp(72px, 14vh, 150px) auto 0;
  padding: clamp(28px, 5vw, 52px);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}
.extension-connect-card h1 { margin: 8px 0 14px; font-size: clamp(30px, 5vw, 48px); }
.extension-connect-lead { max-width: 34em; color: var(--muted); line-height: 1.7; }
.extension-device-facts { margin: 28px 0 0; border-top: 1px solid var(--line); }
.extension-device-facts div { display: flex; justify-content: space-between; gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.extension-device-facts dt { color: var(--muted); }
.extension-device-facts dd { margin: 0; font-weight: 700; text-align: right; }
.extension-connect-status { min-height: 1.6em; margin: 22px 0 0; font-weight: 650; }
.extension-connect-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.extension-connect-actions a { text-decoration: none; }
.application-assistant-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 24px 18px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-soft);
}
.application-assistant-strip h3,
.application-assistant-strip p { margin: 0; }
.application-assistant-strip p { margin-top: 4px; }
.application-assistant-heading { display: flex; align-items: center; gap: 10px; }
.application-assistant-heading .pill { font-size: 12px; }
@media (max-width: 720px) {
  .application-assistant-strip { align-items: flex-start; flex-direction: column; margin-inline: 14px; }
}

.conversation-timeline .message.streaming .message-text:has(.reply-pending)::after { visibility: hidden; }

html[data-theme="dark"] .continuous-together-layout .conversation-timeline .message { background: transparent; border: 0; }

/* TOGETHER-047: keep composing available while only history/details scroll. */
.main-together .together-page-heading,
.main-together .continuous-composer,
.main-together .buddy-composer {
  flex-shrink: 0;
}
@media (min-width: 761px) {
  .main-together:has(.together-layout) {
    height: 100dvh;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  .main-together .together-layout {
    flex: 1;
    min-height: 0;
    overflow: hidden;
  }
  .main-together .together-conversation {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  .main-together .conversation-timeline {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
  }
  .main-together .goal-draft-panel {
    max-height: 100%;
    overflow-y: auto;
  }
  .main-together .first-login-welcome {
    min-height: 0;
    overflow-y: auto;
  }
}
@media (max-width: 760px) {
  .main-together:has(.together-layout) { padding-bottom: 188px; }
  .main-together .continuous-composer,
  .main-together .first-login-layout > .together-conversation > .buddy-composer {
    position: fixed;
    z-index: 12;
    left: 12px;
    right: 12px;
    bottom: 0;
    margin: 0;
    padding: 10px 0 max(10px, env(safe-area-inset-bottom));
    background: var(--app-paper);
  }
}

/* OPP-060: persistent, compact task controls above the account menu. */
.sidebar-bottom { margin-top: auto; min-width: 0; }
.sidebar-task-status:empty { display: none; }
.sidebar-task-status { padding: 12px 0 16px; font-size: 12px; line-height: 1.5; }
.sidebar-task-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.sidebar-task-heading time { color:var(--app-muted); font-variant-numeric:tabular-nums; white-space:nowrap; }
.sidebar-task-activity { margin:8px 0 4px; overflow-wrap:anywhere; }
.sidebar-task-status small { display:block; color:var(--app-muted); }
.sidebar-task-status button { margin-top:10px; padding:6px 10px; font-size:12px; width:100%; }

/* Async company evidence stays in the existing wrapping tag row. */
[data-company-profile-for] { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 7px; }
