:root {
  color-scheme: light;
  --ink: #17211e;
  --muted: #68746f;
  --line: #dce3df;
  --line-strong: #c9d3ce;
  --soft: #f2f6f4;
  --paper: #fff;
  --canvas: #eef2f0;
  --accent: #0d7a59;
  --accent-dark: #075c42;
  --lime: #d9f267;
  --good: #087b57;
  --bad: #bc403a;
  --warn: #a45c08;
  --shadow: 0 14px 34px rgba(26, 42, 35, .09);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--canvas); color: var(--ink); font: 14px/1.45 Inter, "Segoe UI", "Microsoft YaHei", sans-serif; }
button, input, textarea, select { font: inherit; letter-spacing: 0; }
button { cursor: pointer; }
.hidden { display: none !important; }
.nav-link { text-decoration: none; }

.commercial-hero { max-width: 1640px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 350px); gap: 46px; margin: 0 auto; padding: 72px 56px; background: radial-gradient(circle at 82% 24%, rgba(217,242,103,.36), transparent 28%), #f8fcf9; }
.commercial-hero > div { max-width: 790px; }.commercial-hero h1 { max-width: 760px; font-size: clamp(36px, 4.2vw, 62px); line-height: 1.08; letter-spacing: -.04em; }.commercial-hero p:not(.eyebrow) { max-width: 690px; margin: 20px 0 0; color: #42514b; font-size: 18px; line-height: 1.7; }.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }.hero-primary,.hero-secondary { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 0 19px; border-radius: 6px; font-weight: 800; text-decoration: none; }.hero-primary { background: var(--accent); color: #fff; }.hero-primary:hover { background: var(--accent-dark); }.hero-secondary { border: 1px solid var(--line-strong); background: #fff; color: var(--ink); }.hero-secondary:hover { border-color: var(--accent); color: var(--accent-dark); }.hero-points { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 22px 0 0; padding: 0; color: var(--muted); font-size: 12px; list-style: none; }.hero-points li::before { content: "✓"; margin-right: 6px; color: var(--accent); font-weight: 900; }
.hero-proof { align-self: center; padding: 26px; border: 1px solid #bed0c6; border-radius: 10px; background: rgba(255,255,255,.9); box-shadow: var(--shadow); }.hero-proof strong,.hero-proof span { display: block; }.hero-proof strong { color: var(--accent-dark); font-size: 14px; }.hero-proof span { margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.55; }.hero-proof hr { margin: 19px 0; border: 0; border-top: 1px solid var(--line); }
.commercial-section { max-width: 1640px; margin: 0 auto; padding: 78px 56px; background: #fff; }.commercial-section:nth-of-type(even) { background: #f6faf7; }.commercial-heading { max-width: 720px; margin-bottom: 28px; }.commercial-heading h2 { font-size: 30px; line-height: 1.25; }.commercial-heading p:not(.eyebrow) { margin: 10px 0 0; color: var(--muted); font-size: 15px; }.solution-grid,.trust-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }.solution-grid article,.trust-grid article { min-height: 235px; padding: 24px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }.solution-grid span { color: var(--accent); font-size: 12px; font-weight: 900; }.solution-grid h3,.trust-grid h3 { margin: 17px 0 8px; font-size: 18px; }.solution-grid p,.trust-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }.solution-grid a { display: inline-block; margin-top: 19px; color: var(--accent-dark); font-size: 13px; font-weight: 800; }.trust-section { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.trust-grid article { min-height: 190px; }.faq-section { padding-bottom: 84px; }.faq-section details { max-width: 860px; padding: 17px 0; border-top: 1px solid var(--line); }.faq-section details:last-child { border-bottom: 1px solid var(--line); }.faq-section summary { cursor: pointer; color: var(--ink); font-weight: 800; }.faq-section p { margin: 11px 0 0; color: var(--muted); line-height: 1.65; }

.topbar { height: 72px; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; padding: 0 32px; border-bottom: 1px solid #31453b; background: #10261e; color: #fff; box-shadow: 0 3px 16px rgba(13, 30, 22, .16); }
.brand { display: flex; align-items: center; gap: 11px; width: max-content; color: inherit; text-decoration: none; font-size: 19px; font-weight: 800; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.34); border-radius: 7px; background: var(--lime); color: #10261e; font-size: 16px; font-weight: 900; box-shadow: 0 3px 10px rgba(0,0,0,.16); }
.product-nav { display: flex; align-items: center; gap: 3px; padding: 4px; border: 1px solid #385047; border-radius: 7px; background: #19342a; }
.nav-item { min-height: 34px; display: flex; align-items: center; padding: 0 14px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: #aec0b9; font-size: 12px; font-weight: 700; }
.nav-item:hover { color: #fff; background: #264239; }
.nav-item.active { border-color: #d9f267; background: #eff9b9; color: #183127; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
.account-area { position: relative; min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.locale-toggle { min-width: 58px; height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 8px; border: 1px solid #50685d; border-radius: 5px; background: #1d382e; color: #fff; font-size: 11px; font-weight: 800; }
.locale-toggle:hover { border-color: #8cae9e; background: #28483b; }
.locale-toggle .fa-globe { font-size: 14px; line-height: 1; }
.service-state { display: flex; align-items: center; gap: 7px; color: #c1d0ca; font-size: 11px; }
.state-dot { width: 7px; height: 7px; border-radius: 50%; background: #72d8a5; box-shadow: 0 0 0 3px rgba(114,216,165,.16); }
.account-button { min-width: 0; max-width: 220px; min-height: 36px; overflow: hidden; padding: 0 14px; border: 1px solid #50685d; border-radius: 5px; background: #1d382e; color: #fff; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.account-button:hover { border-color: #8cae9e; background: #28483b; }
.claim-trial { min-height: 36px; padding: 0 12px; border: 1px solid #d9f267; border-radius: 5px; background: var(--lime); color: #163126; font-size: 12px; font-weight: 800; }
.claim-trial:hover { background: #eff9b9; }
.account-menu { position: absolute; z-index: 20; top: 43px; right: 0; min-width: 180px; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow); color: var(--ink); }
.account-menu strong { display: block; padding: 8px 9px; overflow: hidden; text-overflow: ellipsis; }
.account-credits { display: block; padding: 0 9px 8px; color: var(--accent); font-weight: 750; }
.account-menu button { width: 100%; padding: 8px 9px; border: 0; border-radius: 4px; background: transparent; color: var(--bad); text-align: left; }
.account-menu button:hover { background: #faefee; }
.account-menu .account-action { color: var(--ink); }
.account-menu .account-action:hover { background: #edf6f1; }
.account-menu .account-delete { color: var(--bad); }
.notification-button { position: relative; min-height: 34px; padding: 0 9px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--ink); font-size: 12px; font-weight: 700; }
.notification-button:hover { border-color: var(--accent); color: var(--accent); }.notification-count { display: inline-grid; min-width: 16px; height: 16px; margin-left: 4px; place-items: center; border-radius: 8px; background: var(--bad); color: #fff; font-size: 10px; font-variant-numeric: tabular-nums; }
.notification-menu { position: absolute; z-index: 20; top: 43px; right: 84px; width: min(360px, calc(100vw - 32px)); max-height: 380px; overflow: auto; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow); color: var(--ink); }.notification-list { display: grid; }.notification-item { padding: 12px 13px; border-bottom: 1px solid var(--line); }.notification-item:last-child { border-bottom: 0; }.notification-item strong { display: block; font-size: 13px; }.notification-item p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }.notification-item time { display: block; margin-top: 6px; color: var(--muted); font-size: 10px; }.notification-empty { padding: 18px 13px; color: var(--muted); font-size: 12px; }
.notification-item.targeted { cursor: pointer; }.notification-item.targeted:hover { background: #fff8f5; }.result-email-update { display: inline-block; width: 8px; height: 8px; margin-left: 7px; border-radius: 50%; background: var(--bad); vertical-align: middle; }
.confirm-delete { display: flex; align-items: flex-start; gap: 8px; margin: 16px 0; font-weight: 500; line-height: 1.45; }
.confirm-delete input { width: auto; min-height: 0; margin-top: 3px; }
.danger-primary { background: var(--bad); }
.danger-primary:hover { background: #9f302c; }

.workspace { display: grid; grid-template-columns: minmax(310px, 370px) minmax(0, 1fr); min-height: calc(100vh - 72px); max-width: 1640px; margin: 0 auto; background: var(--paper); box-shadow: var(--shadow); }
.control-panel { padding: 28px; border-right: 1px solid var(--line); background: #fafcfb; }
.panel-heading, .results-header, .field-row, .progress-meta, .table-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.panel-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.panel-heading > div { min-width: 0; }
.panel-heading h1 { overflow-wrap: anywhere; }
.eyebrow { margin: 0 0 5px; color: var(--accent); font-size: 10px; font-weight: 800; text-transform: uppercase; }
h1, h2, p { letter-spacing: 0; }
h1 { margin: 0; font-size: 23px; line-height: 1.2; }
h2 { margin: 0; font-size: 18px; line-height: 1.3; }
.count { min-width: 40px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--muted); text-align: center; font-variant-numeric: tabular-nums; }

.segmented { display: grid; grid-template-columns: 1fr 1fr; margin: 24px 0 19px; padding: 3px; border-radius: 6px; background: #e8eeeb; }
.segment { min-height: 34px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); }
.segment.active { background: #fff; color: var(--ink); box-shadow: 0 1px 5px rgba(24,37,31,.12); font-weight: 700; }
label, legend { display: block; margin-bottom: 8px; color: #3e4b46; font-size: 12px; font-weight: 700; }
textarea, input:not([type="radio"]):not([type="file"]), select { width: 100%; border: 1px solid var(--line-strong); border-radius: 6px; background: #fff; color: var(--ink); outline: 0; }
textarea { min-height: 226px; resize: vertical; padding: 12px; line-height: 1.55; }
input:not([type="radio"]):not([type="file"]), select { min-height: 38px; padding: 8px 11px; }
textarea:focus, input:focus, select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(13,122,89,.10); }

.file-dropzone { min-height: 226px; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0; padding: 22px; border: 1px dashed #aebdb6; border-radius: 6px; background: #fff; text-align: center; cursor: pointer; }
.file-dropzone:hover, .file-dropzone.dragging { border-color: var(--accent); background: #f2faf6; }
.file-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.file-symbol { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 12px; border-radius: 50%; background: var(--soft); color: var(--accent); font-size: 21px; }
.file-dropzone strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.file-dropzone small { margin-top: 7px; color: var(--muted); font-weight: 400; }

.speed-control { margin: 20px 0; padding: 0; border: 0; }
.speed-options { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.speed-options label { margin: 0; }
.speed-options input { position: absolute; opacity: 0; }
.speed-options span { min-height: 36px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--muted); }
.speed-options input:checked + span { border-color: var(--accent); background: #eaf7f1; color: var(--accent-dark); font-weight: 750; }
.primary-action { width: 100%; min-height: 44px; border: 0; border-radius: 6px; background: var(--accent); color: #fff; font-weight: 750; }
.primary-action:hover { background: var(--accent-dark); }
.primary-action:disabled { background: #99a7a1; cursor: not-allowed; }
.secondary-action { width: 100%; min-height: 42px; border: 1px solid var(--line-strong); border-radius: 6px; background: #fff; color: var(--ink); font-weight: 750; }
.secondary-action:hover:not(:disabled) { border-color: var(--accent); color: var(--accent-dark); }
.secondary-action:disabled { color: var(--muted); background: var(--soft); cursor: not-allowed; }
.form-error { min-height: 20px; margin: 8px 0 0; color: var(--bad); font-size: 12px; }
.provider-notice, .provider-policy { margin: 10px 0 0; padding: 9px 10px; border-left: 3px solid #d49b34; background: #fff7e7; color: #76501a; font-size: 12px; line-height: 1.5; }
.provider-policy { border-left-color: #a95a54; background: #fff1ef; color: #7d3c37; }

.recent-block { margin-top: 22px; padding-top: 19px; border-top: 1px solid var(--line); }
.recent-block h2 { font-size: 13px; }
.icon-button { width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--ink); font-size: 18px; }
.recent-jobs { display: grid; gap: 5px; margin-top: 9px; }
.recent-job { width: 100%; display: flex; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--ink); text-align: left; }
.recent-job:hover { border-color: var(--line); background: #fff; }
.recent-job span { overflow: hidden; text-overflow: ellipsis; }
.recent-job small { color: var(--muted); white-space: nowrap; }
.recent-job-update { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--bad); }

.result-pending { background: #edf1f5; color: #5b6775; }
.result-running { background: #e4f3ff; color: #176eae; }
.result-failed { background: #fff0ec; color: #b64d31; }

.results-panel { min-width: 0; padding: 30px 34px; }
.status { padding: 6px 10px; border-radius: 999px; font-size: 11px; font-weight: 750; }
.job-state { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.mode-badge { padding: 5px 8px; border: 1px solid; border-radius: 4px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.mode-stable { border-color: #8aa9c8; background: #edf5fc; color: #245b8e; }
.mode-standard { border-color: #73ad98; background: #eaf7f1; color: #0b7251; }
.mode-fast { border-color: #df9a55; background: #fff3e7; color: #a4510a; }
.mode-extreme { border-color: #d78b9d; background: #fcedf1; color: #ae3958; }
.mode-qq { border-color: #d49b34; background: #fff7e7; color: #80540e; }
.status-idle { background: #edf1ef; color: var(--muted); }
.status-queued, .status-running { background: #fff0d4; color: #85500b; }
.status-completed { background: #ddf3e8; color: #086447; }
.status-failed { background: #f8e1df; color: #9c302c; }
.progress-section { margin: 28px 0 24px; }
.progress-meta { margin-bottom: 9px; color: var(--muted); font-size: 12px; }
.progress-meta strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.progress-track { height: 7px; overflow: hidden; border-radius: 5px; background: #e5ebe8; }
.progress-bar { width: 0; height: 100%; background: var(--accent); transition: width .3s ease; }
.summary-grid { display: grid; grid-template-columns: repeat(5, minmax(100px, 1fr)); border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.metric { min-height: 86px; display: flex; flex-direction: column; justify-content: center; padding: 16px; border-right: 1px solid var(--line); }
.metric:last-child { border-right: 0; }
.metric span { color: var(--muted); font-size: 11px; }
.metric strong { margin-top: 6px; font-size: 24px; font-variant-numeric: tabular-nums; }
.metric-good strong { color: var(--good); }
.metric-bad strong { color: var(--bad); }
.metric-warn strong { color: var(--warn); }

.table-toolbar { margin: 27px 0 11px; }
.filters { min-width: 0; display: flex; gap: 8px; }
.filters input { width: min(260px, 34vw) !important; }
.filters select { width: 130px; }
.download-action { min-height: 38px; padding: 0 13px; border: 1px solid var(--accent); border-radius: 5px; background: #fff; color: var(--accent); font-weight: 700; white-space: nowrap; }
.download-action:hover:not(:disabled) { background: #edf8f3; }
.download-action:disabled { border-color: var(--line); color: #9aa49f; cursor: not-allowed; }
.table-actions { display: flex; gap: 8px; }
.stop-action { min-height: 38px; padding: 0 13px; border: 1px solid #c94742; border-radius: 5px; background: #fff; color: #aa3632; font-weight: 700; white-space: nowrap; }
.stop-action:hover { background: #fbeeed; }
.table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 7px; }
.pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; color: var(--muted); font-size: 12px; }
.pagination > div, .page-numbers { display: flex; gap: 6px; align-items: center; }
.page-numbers { display: inline-flex; }
.page-number { min-width: 30px; height: 30px; padding: 0 7px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--ink); font-size: 12px; }
.page-number:hover, .page-number.active { border-color: var(--accent); color: var(--accent); }
.page-number.active { background: #fff4f1; font-weight: 700; }
.page-gap { color: var(--muted); padding: 0 2px; }
.page-button { min-width: 64px; min-height: 32px; padding: 0 9px; border: 1px solid var(--line-strong); border-radius: 5px; background: #fff; color: var(--ink); font-size: 12px; }
.page-button:disabled { border-color: var(--line); color: #9aa49f; cursor: not-allowed; }
table { width: 100%; min-width: 850px; border-collapse: collapse; table-layout: fixed; }
th { padding: 11px 13px; border-bottom: 1px solid var(--line); background: var(--soft); color: #4d5a55; font-size: 10px; text-align: left; text-transform: uppercase; }
td { padding: 12px 13px; border-bottom: 1px solid #e8ecea; vertical-align: top; overflow-wrap: anywhere; }
tbody tr:last-child td { border-bottom: 0; }
th:nth-child(1) { width: 24%; } th:nth-child(2) { width: 12%; } th:nth-child(3) { width: 13%; } th:nth-child(4) { width: 14%; }
.empty-row td { height: 210px; color: var(--muted); text-align: center; vertical-align: middle; }
.result-pill { display: inline-block; padding: 4px 7px; border-radius: 4px; font-size: 11px; font-weight: 750; }
.result-good { background: #dff3e9; color: var(--good); }
.result-bad { background: #f9e2e0; color: var(--bad); }
.result-unknown { background: #fff0d5; color: var(--warn); }
.result-skipped { background: #edf1ef; color: #67736e; }
.detail-cell { color: var(--muted); font-size: 12px; line-height: 1.45; }

.auth-dialog { width: min(420px, calc(100vw - 28px)); padding: 0; border: 0; border-radius: 7px; box-shadow: 0 24px 70px rgba(15,25,21,.28); }
.auth-dialog::backdrop { background: rgba(14,24,20,.54); }
.auth-dialog form { padding: 25px; }
.dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 8px; }
.dialog-close { width: 32px; height: 32px; border: 0; border-radius: 5px; background: var(--soft); color: var(--muted); font-size: 21px; }
.auth-tabs { margin-top: 20px; }
.auth-dialog input { margin-bottom: 16px; }
.auth-dialog .primary-action { margin-top: 5px; }
.dialog-copy { margin: 12px 0 18px; color: var(--muted); line-height: 1.55; }
.onboarding-dialog { width: min(460px, calc(100vw - 28px)); }
.onboarding-step { padding: 25px; }
.onboarding-step .dialog-heading { margin-bottom: 8px; }
.onboarding-step form { padding: 0; }
.onboarding-step .text-action { margin: 14px 0 0; }
.onboarding-job-status { margin: 0; padding: 11px; border-left: 3px solid var(--accent); background: var(--soft); color: var(--muted); font-size: 13px; }
.onboarding-actions { display: grid; gap: 9px; }
.api-doc-link { margin: -6px 0 18px; font-size: 12px; font-weight: 700; }
.api-doc-link a { color: var(--accent); }
.api-key-created { margin: 0 25px 20px; padding: 14px; border: 1px solid #88bda3; border-radius: 6px; background: #edf8f1; color: #174d35; }
.api-key-created strong { display: block; font-size: 13px; }
.api-key-created p { margin: 9px 0 0; font-size: 12px; line-height: 1.45; }
.api-key-token-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 10px; }
.api-key-token-row input { min-width: 0; margin: 0; padding: 10px; border: 1px solid #88bda3; border-radius: 4px; background: #fff; font-family: Consolas, monospace; font-size: 12px; }
.api-key-token-row .secondary-action { width: auto; min-height: 38px; padding: 0 12px; }
.api-key-list-section { margin: 0 25px 25px; border-top: 1px solid var(--line); }
.api-key-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0 8px; }
.api-key-list-heading h3 { margin: 0; font-size: 14px; }
.api-key-list-heading .text-action { margin: 0; }
.api-keys-list { border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.api-key-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px; border-bottom: 1px solid var(--line); background: #fff; }
.api-key-row:last-child { border-bottom: 0; }
.api-key-row strong, .api-key-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.api-key-row strong { font-size: 13px; }
.api-key-row small { margin-top: 3px; color: var(--muted); font-family: Consolas, monospace; font-size: 11px; }
.api-key-row .account-delete { width: auto; padding: 7px 8px; border: 0; border-radius: 4px; background: transparent; color: var(--bad); font-size: 12px; }
.api-key-row .account-delete:hover { background: #faefee; }
.api-keys-empty { padding: 16px; color: var(--muted); font-size: 12px; }
.text-action { display: block; margin: -7px 0 13px; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 12px; font-weight: 700; }
.text-action:hover { color: var(--accent-dark); text-decoration: underline; }
.turnstile-container { min-height: 65px; margin: 2px 0 14px; }

.discovery-workspace { min-height: calc(100vh - 72px); max-width: 1640px; margin: 0 auto; display: grid; grid-template-columns: minmax(320px, 430px) minmax(0, 1fr); background: var(--paper); box-shadow: var(--shadow); }
.discovery-form-area { padding: 30px 28px; border-right: 1px solid var(--line); background: #fafcfb; }
.discovery-form-area h1 { margin-bottom: 24px; }
.discovery-form-area > label { margin-top: 16px; }
.discovery-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.discovery-fields label { min-width: 0; }
.discovery-actions { display: grid; gap: 8px; margin-top: 22px; }
.candidate-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.candidate-list span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; padding: 5px 7px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--muted); font-size: 11px; }
.discovery-results-area { min-width: 0; padding: 30px 34px; }
.discovery-verdict { min-height: 46px; margin: 0 0 20px; padding: 12px 13px; border-left: 3px solid var(--line-strong); background: var(--soft); color: var(--muted); }
.discovery-verdict.good { border-left-color: var(--good); background: #e9f7ef; color: #075b41; }
.discovery-verdict.warn { border-left-color: var(--warn); background: #fff4df; color: #7d4d0b; }

.dashboard-workspace { min-height: calc(100vh - 72px); max-width: 1480px; margin: 0 auto; padding: 32px 36px 40px; background: #f8fafd; color: #202124; }
.wallet-workspace { min-height: calc(100vh - 72px); max-width: 1180px; margin: 0 auto; padding: 32px 36px 40px; background: #f8fafd; color: #202124; }.wallet-usage-chart { display: grid; grid-template-columns: repeat(14, 1fr); align-items:end; gap: 8px; min-height: 220px; padding-top: 18px; }.wallet-bar { min-height: 4px; background:#1a73e8; border-radius:2px 2px 0 0; }.wallet-bar span { display:block; margin-top:-22px; color:#5f6368; font-size:10px; text-align:center; }.wallet-transactions { display:grid; }.wallet-transaction { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid #edf0f2; }.wallet-transaction:last-child{border-bottom:0}.wallet-transaction small{display:block;color:#5f6368;margin-top:4px}.wallet-transaction strong{font-variant-numeric:tabular-nums}.admin-account-summary { padding:14px; border:1px solid #dadce0; border-radius:6px; background:#f8fafd; color:#202124; font-size:12px; line-height:1.65; }.admin-account-summary strong{display:block;font-size:14px}.admin-account-summary dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 0}.admin-account-summary dd{margin:2px 0 0;font-weight:700}
.wallet-purchase { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:18px; padding:23px; border:1px solid #b8d4c1; border-radius:8px; background:#f1faf4; }.wallet-purchase h2 { margin:4px 0 8px; font-size:18px; }.wallet-purchase p { margin:0; color:#4d5a55; font-size:13px; }.purchase-actions { min-width:330px; }.purchase-actions label { display:block; margin-bottom:7px; color:#4d5a55; font-size:12px; font-weight:700; }.purchase-actions > div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:8px; }.purchase-actions input { min-width:0; height:44px; }.purchase-actions .primary-action { margin:0; }.purchase-status { min-height:18px; margin-top:8px !important; font-size:12px !important; }.purchase-status.error { color:var(--bad); }
.admin-credits-workspace { min-height: calc(100vh - 72px); max-width: 1480px; margin: 0 auto; padding: 32px 36px 40px; background: #f8fafd; color: #202124; }
.admin-report-heading { margin-bottom: 20px; }.admin-scorecards { margin-bottom: 18px; }
.admin-credits-panel { display:grid; grid-template-columns:minmax(360px,.9fr) minmax(0,1.4fr); gap:18px; width:100%; padding:0; border:0; background:transparent; }
.admin-credits-heading { grid-column:1; margin:0; padding:23px; border:1px solid #dadce0; border-radius:8px 8px 0 0; border-bottom:0; background:#fff; }.admin-credits-heading h2 { margin:4px 0 0; font-size:16px; }
.admin-credit-grant-form { grid-column:1; display:grid; gap:9px; align-content:start; padding:0 23px 23px; border:1px solid #dadce0; border-top:0; border-radius:0 0 8px 8px; background:#fff; }.admin-credit-grant-form label { margin-top:6px; color:#3c4043; font-size:12px; font-weight:650; }.admin-credit-grant-form input { width:100%; min-height:42px; }
.admin-credit-grant-form select { width: 100%; min-height: 42px; }
.admin-account-summary{grid-column:2;grid-row:1 / span 2;align-self:start;min-height:180px;padding:23px;border:1px solid #dadce0;border-radius:8px;background:#fff}.admin-account-summary.hidden{display:none}.admin-accounts-section{grid-column:1/-1;margin:0;padding:23px;border:1px solid #dadce0;border-radius:8px;background:#fff}.admin-accounts-list{display:grid;border:1px solid #edf0f2}.admin-account-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,auto);gap:16px;align-items:center;padding:13px 15px;border:0;border-bottom:1px solid #edf0f2;background:#fff;color:#202124;text-align:left;font-size:12px}.admin-account-row:hover{background:#f5f9ff}.admin-account-row:last-child{border-bottom:0}.admin-account-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-account-row span{color:#5f6368;font-variant-numeric:tabular-nums}
.admin-feature-chart{height:390px;padding-top:12px;border-bottom:1px solid #edf0f2}.admin-feature-chart svg{display:block;width:100%;height:100%;overflow:visible}.admin-feature-grid{stroke:#edf0f2;stroke-width:1}.admin-feature-axis{fill:#80868b;font:10px Inter,"Segoe UI",sans-serif}.admin-feature-line-single{stroke:#1a73e8}.admin-feature-line-batch{stroke:#34a853}.admin-feature-line-discovery{stroke:#e37400}.admin-account-summary .report-legend{margin-top:16px}.admin-account-summary .report-legend span{font-size:11px}.admin-account-summary .report-legend span:nth-child(1)::before{background:#1a73e8}.admin-account-summary .report-legend span:nth-child(2)::before{background:#34a853}.admin-account-summary .report-legend span:nth-child(3)::before{background:#e37400}
.admin-credit-grant-form .primary-action { margin-top: 12px; }.admin-credit-result { min-height: 20px; margin: 8px 0 0; color: #5f6368; font-size: 13px; line-height: 1.5; }.admin-credit-result.success { color: #188038; }.admin-credit-result.error { color: #b3261e; }
.report-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.report-heading h1 { font-size: 25px; }
.report-updated { margin: 7px 0 0; color: #5f6368; font-size: 12px; }
.report-actions { display: flex; align-items: center; gap: 10px; }
.report-period { padding: 9px 11px; border: 1px solid #dadce0; border-radius: 4px; background: #fff; color: #3c4043; font-size: 12px; }
.report-actions .download-action { border-color: #1a73e8; color: #1a73e8; }
.report-scorecards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid #dadce0; border-radius: 8px; overflow: hidden; background: #fff; }
.report-scorecard { min-height: 124px; display: flex; flex-direction: column; justify-content: center; padding: 20px; border-right: 1px solid #e7eaed; }
.report-scorecard:last-child { border-right: 0; }
.report-scorecard span, .report-scorecard small { color: #5f6368; font-size: 12px; }
.report-scorecard strong { margin: 7px 0 3px; color: #202124; font-size: 29px; font-weight: 600; font-variant-numeric: tabular-nums; }
.report-primary-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, .8fr); gap: 18px; margin-top: 18px; }
.report-secondary-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 18px; margin-top: 18px; }
.report-tertiary-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 18px; margin-top: 18px; }
.report-card { min-width: 0; padding: 23px; border: 1px solid #dadce0; border-radius: 8px; background: #fff; }
.report-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 19px; }
.report-card-heading h2 { font-size: 16px; }
.report-card-heading p { margin: 4px 0 0; color: #5f6368; font-size: 12px; }
.report-card-heading > span { color: #5f6368; font-size: 11px; white-space: nowrap; }
.report-legend { display: flex; gap: 16px; margin: -5px 0 5px; color: #5f6368; font-size: 11px; }
.report-legend span::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; }
.report-legend-users::before { background: #1a73e8; }
.report-legend-engaged::before { background: #34a853; }
.report-chart { width: 100%; height: 304px; display: block; overflow: visible; }
.traffic-grid { stroke: #edf0f2; stroke-width: 1; }
.traffic-axis { fill: #80868b; font: 11px Inter, "Segoe UI", sans-serif; }
.quality-summary { display: flex; align-items: center; gap: 24px; margin: 12px 0 21px; }
.quality-ring { --quality-human: 0%; position: relative; width: 118px; height: 118px; display: grid; place-items: center; align-content: center; border-radius: 50%; background: conic-gradient(#34a853 var(--quality-human), #fbbc04 0); }
.quality-ring::after { content: ""; position: absolute; inset: 14px; border-radius: 50%; background: #fff; }
.quality-ring strong, .quality-ring span { position: relative; z-index: 1; }
.quality-ring strong { font-size: 20px; }
.quality-ring span { margin-top: 1px; color: #5f6368; font-size: 10px; }
.quality-summary > div:last-child strong { display: block; color: #202124; font-size: 28px; font-weight: 600; }
.quality-summary > div:last-child span { color: #5f6368; font-size: 12px; }
.quality-list, .operations-list { margin: 0; }
.quality-list > div { display: flex; justify-content: space-between; padding: 11px 0; border-top: 1px solid #edf0f2; }
.quality-list dt { color: #5f6368; font-size: 12px; }
.quality-list dd { margin: 0; font-weight: 650; font-variant-numeric: tabular-nums; }
.quality-dot { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; }
.quality-dot-human { background: #34a853; }.quality-dot-bot { background: #fbbc04; }
.funnel-list { display: grid; gap: 15px; }
.funnel-list > div > div { display: flex; justify-content: space-between; margin-bottom: 7px; color: #5f6368; font-size: 12px; }
.funnel-list strong { color: #202124; font-variant-numeric: tabular-nums; }
.funnel-track { display: block; height: 9px; overflow: hidden; border-radius: 2px; background: #eef1f4; }
.funnel-fill { display: block; height: 100%; min-width: 3px; border-radius: inherit; }
.funnel-fill-users { background: #1a73e8; }.funnel-fill-engaged { background: #34a853; }.funnel-fill-free { background: #7b5fc5; }.funnel-fill-batch { background: #e37400; }
.conversion-footer, .operations-footer, .report-lifetime { display: flex; flex-wrap: wrap; gap: 16px; color: #5f6368; font-size: 12px; }
.conversion-footer { margin-top: 21px; padding-top: 15px; border-top: 1px solid #edf0f2; }
.conversion-footer strong, .operations-footer strong, .report-lifetime strong { margin-left: 3px; color: #202124; font-size: 14px; }
.operations-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #edf0f2; border-left: 1px solid #edf0f2; }
.operations-list > div { min-height: 83px; padding: 15px; border-right: 1px solid #edf0f2; border-bottom: 1px solid #edf0f2; }
.operations-list dt { color: #5f6368; font-size: 11px; }.operations-list dd { margin: 8px 0 0; color: #202124; font-size: 19px; font-weight: 600; font-variant-numeric: tabular-nums; }
.operations-footer { margin-top: 17px; }.service-ready { color: #188038 !important; }
.audience-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid #edf0f2; border-left: 1px solid #edf0f2; }
.audience-list > div { min-height: 101px; padding: 15px; border-right: 1px solid #edf0f2; border-bottom: 1px solid #edf0f2; }
.audience-list dt, .revenue-list dt { color: #5f6368; font-size: 11px; }.audience-list dd { margin: 8px 0 2px; color: #202124; font-size: 21px; font-weight: 600; font-variant-numeric: tabular-nums; }.audience-list small { color: #80868b; font-size: 10px; }
.revenue-primary { margin: 4px 0 22px; padding-bottom: 21px; border-bottom: 1px solid #edf0f2; }.revenue-primary span, .revenue-primary small { display: block; color: #5f6368; font-size: 12px; }.revenue-primary strong { display: block; margin: 8px 0 4px; color: #188038; font-size: 34px; font-weight: 600; font-variant-numeric: tabular-nums; }
.revenue-list { display: grid; gap: 15px; margin: 0; }.revenue-list > div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }.revenue-list dd { margin: 0; color: #202124; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.site-footer { max-width: 1640px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 auto; padding: 18px 32px; color: var(--muted); font-size: 12px; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 16px; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { color: var(--accent); text-decoration: underline; }

@media (max-width: 900px) {
  .topbar { height: auto; min-height: 108px; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand account" "nav nav"; padding: 10px 16px 8px; row-gap: 8px; }
  .brand { grid-area: brand; }
  .account-area { grid-area: account; }
  .product-nav { grid-area: nav; width: 100%; }
  .product-nav .nav-item { flex: 1; justify-content: center; min-width: 0; padding: 0 7px; }
  .service-state { display: none; }
  .workspace { grid-template-columns: 1fr; }
  .commercial-hero { grid-template-columns: 1fr; gap: 30px; padding: 52px 28px; }.commercial-section { padding: 54px 28px; }.solution-grid,.trust-grid { grid-template-columns: 1fr; }.solution-grid article,.trust-grid article { min-height: 0; }
  .discovery-workspace { grid-template-columns: 1fr; }
  .dashboard-workspace { min-height: calc(100vh - 108px); padding: 26px 20px 32px; }
  .admin-credits-workspace { min-height: calc(100vh - 108px); padding: 32px 20px; }
  .admin-credits-panel { grid-template-columns: minmax(0, 1fr); }
  .admin-credits-heading, .admin-credit-grant-form, .admin-account-summary { grid-column: 1; }
  .admin-account-summary { grid-row: auto; }
  .site-footer { padding: 16px; }
  .report-scorecards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-scorecard:nth-child(2) { border-right: 0; }
  .report-scorecard:nth-child(n+3) { border-top: 1px solid #e7eaed; }
  .report-primary-grid, .report-secondary-grid, .report-tertiary-grid { grid-template-columns: 1fr; }
  .wallet-purchase { align-items: stretch; flex-direction: column; }
  .purchase-actions { min-width: 0; }
  .control-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .discovery-form-area { border-right: 0; border-bottom: 1px solid var(--line); }
  textarea, .file-dropzone { min-height: 160px; }
  .summary-grid { grid-template-columns: repeat(3, 1fr); }
  .job-state { justify-content: flex-start; }
  .metric:nth-child(3) { border-right: 0; }
  .metric:nth-child(n+4) { border-top: 1px solid var(--line); }
}

@media (max-width: 560px) {
  .topbar { min-height: 150px; padding: 10px 16px 8px; }
  .product-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; }
  .product-nav .nav-item { width: 100%; min-height: 32px; }
  .account-area { gap: 4px; }
  .locale-toggle { min-width: 44px; width: 44px; padding: 0; gap: 3px; font-size: 9px; }
  .notification-menu { right: 0; top: 42px; }
  .claim-trial { flex: 0 0 104px; min-height: 36px; padding: 0 7px; font-size: 10px; line-height: 1.15; }
  .account-button { flex: 0 0 52px; width: 52px; padding: 0; font-size: 0; }
  .account-button::after { content: "账户"; font-size: 12px; }
  html[lang="en"] .account-button::after { content: "Account"; font-size: 10px; }
  .api-key-token-row { grid-template-columns: 1fr; }
  .api-key-token-row .secondary-action { width: 100%; }
  .workspace { min-height: calc(100vh - 150px); }
  .commercial-hero { padding: 40px 18px; }.commercial-hero h1 { font-size: 36px; }.commercial-hero p:not(.eyebrow) { font-size: 16px; }.commercial-section { padding: 45px 18px; }.commercial-heading h2 { font-size: 25px; }.hero-actions { display: grid; grid-template-columns: 1fr; }.hero-primary,.hero-secondary { width: 100%; }
  .discovery-workspace { min-height: calc(100vh - 150px); }
  .dashboard-workspace { min-height: calc(100vh - 150px); padding: 22px 16px 30px; }
  .admin-credits-workspace { min-height: calc(100vh - 150px); padding: 22px 16px; }.admin-credits-panel { padding: 20px; }
  .site-footer { align-items: flex-start; flex-direction: column; gap: 8px; }
  .report-heading { align-items: stretch; flex-direction: column; margin-bottom: 20px; }
  .report-actions { justify-content: space-between; }
  .report-card { padding: 18px; }
  .report-scorecards { grid-template-columns: 1fr; }
  .report-scorecard { min-height: 100px; border-right: 0; border-bottom: 1px solid #e7eaed; }
  .report-scorecard:nth-child(n+3) { border-top: 0; }
  .report-scorecard:last-child { border-bottom: 0; }
  .report-chart { height: 235px; }
  .quality-summary { justify-content: center; }
  .audience-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .control-panel, .results-panel { padding: 22px 16px; }
  .panel-heading { gap: 12px; }
  .panel-heading h1 { font-size: 22px; line-height: 1.15; }
  .discovery-form-area, .discovery-results-area { padding: 22px 16px; }
  .discovery-fields { grid-template-columns: 1fr; }
  .speed-options { grid-template-columns: repeat(2, 1fr); }
  .summary-grid { grid-template-columns: repeat(2, 1fr); }
  .metric, .metric:nth-child(3) { border-right: 1px solid var(--line); border-top: 1px solid var(--line); }
  .metric:nth-child(1), .metric:nth-child(2) { border-top: 0; }
  .metric:nth-child(even) { border-right: 0; }
  .table-toolbar { align-items: stretch; flex-direction: column; }
  .filters { display: grid; grid-template-columns: minmax(0, 1fr) 118px; }
  .filters input, .filters select { width: 100% !important; min-width: 0; }
  .table-actions { width: 100%; }
  .download-action, .stop-action { width: 100%; }
}
