*{box-sizing:border-box}button,input,select,textarea{font:inherit}body{line-height:1.5}button:disabled{opacity:.55;cursor:not-allowed}table{border-collapse:collapse}h1,h2,h3,p{overflow-wrap:anywhere}

/* ---------- Design tokens (新版更快、更克制的视觉) ---------- */
:root {
  --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
    "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;

  --color-bg: #0b0f17;
  --color-surface: #121826;
  --color-surface-2: #1a2233;
  --color-border: #263143;
  --color-text: #e6ebf3;
  --color-muted: #8a97ab;
  --color-brand: #3ba776;
  --color-brand-strong: #2f8d62;
  --color-accent: #f6c453;
  --color-danger: #e5675b;
  --color-info: #5b9bd5;
}

:root {
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
  text-decoration: none;
}

/* subtle grid glow behind hero */
.bg-grid {
  background-image: radial-gradient(
      circle at 1px 1px,
      rgba(255, 255, 255, 0.04) 1px,
      transparent 0
    );
  background-size: 22px 22px;
}

.card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 14px;
}

.card-hover {
  transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.card-hover:hover {
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--color-brand) 55%, var(--color-border));
  background: var(--color-surface-2);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  border-radius: 10px;
  padding: 0.55rem 1rem;
  font-weight: 600;
  font-size: 0.92rem;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s;
}
.btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.btn-primary {
  background: var(--color-brand);
  color: #04140d;
}
.btn-primary:hover:not(:disabled) {
  background: var(--color-brand-strong);
}
.btn-ghost {
  background: transparent;
  border-color: var(--color-border);
  color: var(--color-text);
}
.btn-ghost:hover:not(:disabled) {
  background: var(--color-surface-2);
}

.input,
.textarea,
.select {
  width: 100%;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 0.6rem 0.75rem;
  color: var(--color-text);
  font-size: 0.95rem;
  font-family: inherit;
}
.input:focus,
.textarea:focus,
.select:focus {
  outline: none;
  border-color: var(--color-brand);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-brand) 25%, transparent);
}
.textarea {
  min-height: 120px;
  resize: vertical;
}

.label {
  display: block;
  font-size: 0.82rem;
  color: var(--color-muted);
  margin-bottom: 0.35rem;
  font-weight: 500;
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  color: var(--color-muted);
}

.stat {
  font-variant-numeric: tabular-nums;
  font-family: var(--font-mono);
}

table.data {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}
table.data th,
table.data td {
  text-align: left;
  padding: 0.5rem 0.65rem;
  border-bottom: 1px solid var(--color-border);
}
table.data th {
  color: var(--color-muted);
  font-weight: 600;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
table.data tr:hover td {
  background: var(--color-surface-2);
}

.prose-muted {
  color: var(--color-muted);
  line-height: 1.7;
  font-size: 0.92rem;
}

/* Kirby loader: energetic bounce/squash while mining, gentle float when idle */
@keyframes kirby-bounce {
  0% { transform: translateY(0) scale(1, 1); }
  22% { transform: translateY(-22px) scale(0.9, 1.1); }
  45% { transform: translateY(0) scale(1.1, 0.9); }
  60% { transform: translateY(-8px) scale(0.98, 1.02); }
  100% { transform: translateY(0) scale(1, 1); }
}
@keyframes kirby-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@keyframes kirby-shadow {
  0% { transform: scaleX(1); opacity: 0.35; }
  22% { transform: scaleX(0.7); opacity: 0.18; }
  45% { transform: scaleX(1.15); opacity: 0.4; }
  100% { transform: scaleX(1); opacity: 0.35; }
}
@keyframes kirby-dots {
  0% { content: "挖掘中"; }
  33% { content: "挖掘中."; }
  66% { content: "挖掘中.."; }
  100% { content: "挖掘中..."; }
}
.kirby-star {
  position: absolute;
  color: var(--color-accent);
  animation: kirby-float 1.8s ease-in-out infinite;
}

.siteHeaderInner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0.7rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.siteBrand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  white-space: nowrap;
}

.mainnav {
  display: flex;
  gap: 4px;
  align-items: center;
  margin-left: auto;
}

.mobileMenuButton {
  display: none;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  padding: 0;
  color: var(--color-text);
  background: transparent;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  cursor: pointer;
}

@media (max-width: 760px) {
  .two-col {
    grid-template-columns: 1fr !important;
  }
  .mainnav {
    display: none;
    width: 100%;
    margin-left: 0;
    padding-top: 0.45rem;
    flex-direction: column;
    align-items: stretch;
    border-top: 1px solid var(--color-border);
  }
  .mainnavOpen {
    display: flex;
  }
  .siteHeaderInner {
    padding: 0.6rem 1rem;
    gap: 0.55rem;
    flex-wrap: wrap;
  }
  .mobileMenuButton {
    display: inline-flex;
  }
  .mainnav > div {
    width: 100%;
  }
  .mainnav button,
  .mainnav a {
    width: 100%;
    justify-content: flex-start;
    white-space: nowrap;
    font-size: 0.85rem;
    padding: 0.55rem 0.6rem !important;
  }
  .mainnav .navDropdownShell {
    position: static !important;
    width: 100% !important;
    padding-top: 4px !important;
    box-shadow: none !important;
  }
  .mainnav .navDropdownShell a {
    white-space: normal;
  }
}

.workspace{max-width:1120px;margin:0 auto;padding:28px 20px 40px}.workspace h1{font-size:28px;margin:20px 0 8px}.workspace h1 small{font-size:16px;font-weight:500;color:var(--color-muted)}.workspace h2{font-size:20px;font-weight:700;margin:0 0 12px}.workspace h3{font-size:16px;font-weight:650}.wsCrumb,.wsFine{font-size:12px;color:var(--color-muted);line-height:1.9}.wsIntro,.wsResult,.wsHistory,.wsTools{padding:22px;margin:26px 0}.wsActions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.wsGrid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start}.wsSelect,.wsForm{padding:20px}.wsWorkflowList{max-height:690px;overflow:auto;display:grid;gap:8px;margin-top:12px}.wsWorkflow{background:transparent;border:1px solid var(--color-border);color:var(--color-text);padding:12px 14px;border-radius:10px;cursor:pointer;text-align:left;display:grid;gap:4px}.wsWorkflow strong{font-size:14px}.wsWorkflow span{font-size:12px;color:var(--color-muted)}.wsWorkflow small{font-size:10px;color:#9bbbaa}.wsWorkflow:hover{background:#172333}.wsWorkflow.wsSelected{border-color:var(--color-brand);background:#15302a}.wsScope{background:#14271f;border:1px solid #315548;border-radius:9px;padding:13px 15px;color:#b9d8c8;font-size:13px;line-height:1.8}.wsScope p{margin:5px 0 0}.wsWarning{background:#272519;border-color:#5c5136;color:#dbcba7}.wsForm .label{margin-top:16px}.wsForm textarea{min-height:145px}.wsRefs{margin:20px 0;font-size:13px}.wsRefs summary{cursor:pointer;margin-bottom:10px}.wsRefs button{margin-top:8px}.wsDocument{margin-top:15px}.workspace pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:450px;overflow:auto;background:#0a101a;padding:16px;border:1px solid var(--color-border);border-radius:9px;font-size:12px;line-height:1.8}.wsFacts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wsFacts dt{color:var(--color-muted);font-size:12px}.wsFacts dd{margin:4px 0;font-size:14px;overflow-wrap:anywhere}.wsFinding{border:1px solid var(--color-border);padding:15px 18px;margin:14px 0;border-radius:9px}.wsFinding p{font-size:13px;line-height:1.8;color:#afbdd0}.wsCheckLists{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wsCheckLists p{font-size:12px;line-height:1.8;color:var(--color-muted)}.wsHistoryRow{background:transparent;border:0;border-bottom:1px solid var(--color-border);width:100%;display:flex;gap:15px;align-items:center;justify-content:space-between;padding:15px 0;color:var(--color-text);text-align:left;cursor:pointer}.wsHistoryRow strong{font-size:13px;overflow-wrap:anywhere;min-width:0}.wsHistoryRow span{font-size:12px;color:var(--color-muted);flex-shrink:0}.wsToolLinks{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.wsTools .input,.wsTools textarea{margin:12px 0}.wsTools textarea{min-height:150px}.wsError{padding:14px;border:1px solid #964c4c;background:#3c2026;border-radius:8px;color:#ffc4bf}.wsAnalysis{border-top:1px solid var(--color-border);padding-top:20px;margin-top:20px;line-height:1.9;overflow-wrap:anywhere}.workspace button:focus-visible,.workspace a:focus-visible,.workspace summary:focus-visible{outline:2px solid #83d8af;outline-offset:3px}.wsTools{scroll-margin-top:100px}.wsForm>p{font-size:13px;line-height:1.8}.wsResult details{margin-top:20px}.wsResult summary{cursor:pointer}.wsForm input,.wsForm textarea{width:100%}@media(max-width:850px){.wsGrid{grid-template-columns:1fr}.wsWorkflowList{max-height:270px;grid-template-columns:repeat(2,minmax(0,1fr))}.workspace h1 small{display:block}.wsCheckLists{grid-template-columns:1fr}}@media(max-width:480px){.workspace{padding:20px 14px}.wsFacts{grid-template-columns:1fr}.wsSelect,.wsForm,.wsIntro,.wsResult,.wsTools,.wsHistory{padding:16px}.wsWorkflow{padding:10px}.wsWorkflow strong{font-size:12px}}
.wsAuditCategories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.wsAuditCategories section{padding:16px}.wsAuditCategories h3 small{font-size:11px;color:var(--color-muted);font-weight:400;white-space:nowrap}.wsAuditCategories p{font-size:13px;line-height:1.8}.wsFullReport{padding:18px 0;border-top:1px solid var(--color-border);line-height:1.9}.growthSection{padding:26px;margin:24px 0}.growthGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.growthField{display:flex;flex-direction:column;gap:7px;margin:12px 0;min-width:0}.growthField>span{font-size:14px;color:#c4d0df}.growthField b{color:#e39e81;font-weight:400}.growthField small{color:var(--color-muted);font-size:12px;line-height:1.7}.growthField em{color:#ffb8b0;font-size:12px;font-style:normal}.growthField .textarea{min-height:100px}.growthCheck{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:13px;line-height:1.8}.growthCheck input{margin-top:5px;flex-shrink:0}.growthPage fieldset{border:0;padding:0;margin:0;min-width:0}.growthReport{line-height:1.85;overflow-wrap:anywhere}.growthReport h3{font-size:20px;margin-top:28px}.growthReport .data td{vertical-align:top;font-size:13px}.growthReport ul{padding-left:22px}.growthReport p{color:#c1cedd}.growthReport pre{max-height:none}.growthReport table{width:100%}.growthPage .wsHistoryRow{gap:16px}@media(max-width:700px){.growthGrid,.wsAuditCategories{grid-template-columns:1fr}.growthSection{padding:18px}.growthReport .data{min-width:500px}}@media print{body{background:white!important;color:#111!important}header,footer,.growthPage>form,.growthPage>.wsIntro,.growthPage>.wsCrumb,.growthPage>.prose-muted,.growthPage>.wsHistory,.growthPage>.wsError,.growthPage>h1,.growthReport>.wsActions{display:none!important}.growthPage,.growthReport{max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:white!important;color:#111!important}.growthReport p,.growthReport h3,.growthReport td,.growthReport th{color:#111!important}.growthReport h3{break-after:avoid}.growthReport tr{break-inside:avoid}.growthReport table{min-width:0!important}.growthReport a{color:#111!important}.growthReport .data th,.growthReport .data td{border-color:#bbb!important;font-size:10pt!important}}
.growthAutofill{padding:18px;border:1px solid #3d7259;border-radius:10px;background:#123126;margin:18px 0}.autoFilled{color:#89d7b2!important}.autoFilled a{text-decoration:underline}.creativeBatchGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.creativeBatchCard{padding:14px;min-width:0}.creativeBatchCard img,.creativeBatchCard video{display:block;max-width:100%;max-height:320px;object-fit:contain;margin:12px auto}.creativeBatchCard p{font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.creativeBatchCard label{font-size:12px}.creativeBatchCard a{font-size:12px;color:var(--color-brand)}@media(max-width:800px){.creativeBatchGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.creativeBatchGrid{grid-template-columns:1fr}}
