:root {
  color-scheme: light;
  --ink: #f0e6d1;
  --paper: #eadfc9;
  --card: rgba(255, 252, 245, .94);
  --gold: #a47b42;
  --gold-l: #84362f;
  --gold-d: #6d2925;
  --gold-glow: rgba(132, 54, 47, .12);
  --star: #365d50;
  --star-dim: #557568;
  --star-glow: rgba(54, 93, 80, .08);
  --mist: #796d61;
  --mist-dim: rgba(121, 109, 97, .56);
  --tx: #2d261f;
  --tx2: #655b51;
  --tx3: #796d61;
  --bd: rgba(72, 52, 31, .16);
  --bd2: rgba(72, 52, 31, .27);
  --bd-star: rgba(54, 93, 80, .13);
  --red: #84362f;
  --zh-paper: #f0e6d1;
  --zh-paper-deep: #eadfc9;
  --zh-ink: #2d261f;
  --zh-vermilion: #84362f;
  --zh-pine: #365d50;
  --zh-aged-gold: #a47b42;
}

html { background: var(--zh-paper); }
body {
  color: var(--zh-ink);
  background: var(--zh-paper);
}
body::before {
  background:
    radial-gradient(circle at 78% 12%, rgba(132,54,47,.065), transparent 24%),
    radial-gradient(circle at 12% 78%, rgba(54,93,80,.05), transparent 28%),
    repeating-linear-gradient(90deg, rgba(72,52,31,.016) 0 1px, transparent 1px 14px);
  opacity: 1;
}
.bg-overlay {
  background: rgba(240,230,209,.04) !important;
}
body #bgCanvas { opacity: 0 !important; }
.card,
.chat-panel,
.modal,
.auth-modal {
  color: var(--zh-ink);
  background: rgba(255,252,245,.94);
  border-color: var(--bd);
  box-shadow: 0 16px 44px rgba(67,46,24,.08);
}
.btn-gold,
.submit,
.submit-btn,
.chat-send-btn,
.input-row .send,
.auth-submit {
  color: #fff8ea;
  background: linear-gradient(135deg, #963f38, var(--zh-vermilion));
  box-shadow: 0 8px 22px rgba(132,54,47,.16);
}
.field select,
.minute-inp,
.chat-input,
.input-row textarea,
.auth-field input {
  color: var(--zh-ink);
  background-color: rgba(255,253,248,.76);
  border-color: var(--bd);
}
.field select option { color: var(--zh-ink); background: #fffaf0; }
.input-row textarea::placeholder { color: var(--tx3); opacity: 1; }
.field select:focus,
.minute-inp:focus,
.chat-input:focus,
.input-row textarea:focus,
.auth-field input:focus {
  border-color: var(--zh-vermilion);
  box-shadow: 0 0 0 3px rgba(132,54,47,.09);
}
.input-row .send:disabled { cursor: not-allowed; opacity: .38; box-shadow: none; }
.toast.success { color: #244c3f; background: #e6efe8; border-color: #b8ccbe; }
.toast.error { color: #742f2a; background: #f5e5df; border-color: #dfb9af; }
.toast.info { color: #4e4338; background: #f3ead8; border-color: #d8c8b0; }
.footer,
.land-footer { color: var(--tx3); border-color: var(--bd); }
#zhishi-nav,
.site-nav,
.top-nav { color: var(--zh-ink); background: rgba(249,244,233,.9) !important; border-color: var(--bd) !important; }
.top-nav a,
.top-nav span { color: var(--tx2) !important; }
.top-nav > a { color: var(--zh-vermilion) !important; }
.top-nav a[href="/pricing"] { color: var(--zh-pine) !important; border-color: rgba(54,93,80,.18) !important; }
.top-nav .dd-menu {
  background: rgba(249,244,233,.98) !important;
  border-color: var(--bd) !important;
  box-shadow: 0 12px 30px rgba(67,46,24,.12) !important;
}
.nav-user .btn-auth,
.credits-badge { color: var(--zh-pine); background: rgba(54,93,80,.055); border-color: rgba(54,93,80,.18); }
.auth-overlay,
.modal-overlay { background: rgba(45,38,31,.38) !important; backdrop-filter: blur(8px); }
.auth-modal,
.buy-card,
.paywall,
.migrate-banner {
  color: var(--zh-ink) !important;
  background: rgba(255,252,245,.96) !important;
  border-color: var(--bd) !important;
  box-shadow: 0 18px 52px rgba(67,46,24,.15) !important;
}
.credits-badge { box-shadow: none !important; }
.credit-success-toast,
.toast {
  color: var(--zh-ink) !important;
  background-color: #fffaf0 !important;
  border-color: var(--bd) !important;
}
button:disabled,
.submit.loading,
.submit-btn.loading { opacity: .56; cursor: not-allowed; filter: saturate(.55); }
.error,
.field-error,
[data-state="error"] { color: #84362f; }
.success,
[data-state="success"] { color: #365d50; }
@media (max-width: 768px) {
  button, a.btn, .hero-cta, .cta-btn, select, input, textarea { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  body.loaded .landing-wrap,
  body.loaded .app,
  body.loaded .result-container,
  .feat-card,
  .card { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
:focus-visible { outline: 2px solid var(--zh-vermilion); outline-offset: 3px; }
