/* ============================================================
   unify.css — 全站统一为「经典高级 / Apple 产品官网风」
   Loaded LAST. Retunes shared tokens, flattens the neumorphic
   utilities into clean bordered surfaces, and restyles nav /
   buttons / inputs / chips. Home (.ah / [data-page=home]) keeps
   its own higher-specificity styling.
   ============================================================ */

.ka {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Noto Sans SC", system-ui, sans-serif;
}

/* ---- tokens ---- */
:root[data-theme="light"] {
  --bg: #fbfbfd; --bg-sink: #f5f5f7; --bg-rise: #ffffff;
  --ink: #1d1d1f; --ink-soft: #6e6e73; --ink-faint: #86868b;
  --hair: rgba(0,0,0,0.10);
  --surface: #ffffff; --inset: #f5f5f7; --line: rgba(0,0,0,0.11);
  --d-sh: rgba(0,0,0,0.06); --l-sh: transparent;
  --accent-ink: #fff;
}
:root[data-theme="dark"] {
  --bg: #000000; --bg-sink: #0b0b0c; --bg-rise: #161617;
  --ink: #f5f5f7; --ink-soft: #a1a1a6; --ink-faint: #86868b;
  --hair: rgba(255,255,255,0.11);
  --surface: #161617; --inset: #1d1d1f; --line: rgba(255,255,255,0.13);
  --d-sh: rgba(0,0,0,0.5); --l-sh: transparent;
  --accent-ink: #fff;
}

:root[data-theme="light"] body { background: #fbfbfd; }
:root[data-theme="dark"]  body { background: #000000; }

/* ---- flatten neumorphic cards → clean Apple surfaces ---- */
.ka .nm-rise, .ka .nm-rise-sm {
  background: var(--surface); border: 1px solid var(--line);
  box-shadow: 0 1px 2px rgba(0,0,0,0.05), 0 22px 46px -30px rgba(0,0,0,0.22);
}
:root[data-theme="dark"] .ka .nm-rise, :root[data-theme="dark"] .ka .nm-rise-sm {
  box-shadow: 0 1px 2px rgba(0,0,0,0.6);
}
.ka .nm-sink, .ka .nm-sink-sm { background: var(--inset); border: 1px solid var(--line); box-shadow: none; }
.ka .nm-press { transition: transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s ease, border-color .28s ease; }
.ka .nm-press:hover { transform: translateY(-3px); box-shadow: 0 18px 42px -22px rgba(0,0,0,0.30); }
:root[data-theme="dark"] .ka .nm-press:hover { box-shadow: 0 18px 42px -18px rgba(0,0,0,0.85); }

/* ---- buttons ---- */
.ka .btn { background: var(--surface); border: 1px solid var(--line); box-shadow: none; }
.ka .btn:hover { transform: translateY(-1px); background: var(--inset); }
.ka .btn:active { box-shadow: none; transform: none; }
.ka .btn-accent { background: var(--accent); color: #fff; border-color: transparent; box-shadow: none; }
.ka .btn-accent:hover { filter: brightness(1.06); background: var(--accent); transform: translateY(-1px); }
.ka .btn-accent:active { box-shadow: none; }

/* ---- nav → flat translucent bar (all pages) ---- */
.ka .ka-navwrap { padding: 0; }
.ka .ka-navwrap::before { display: none; }
.ka .ka-navwrap .kc { max-width: none; padding: 0; }
.ka .ka-nav {
  max-width: 1120px; margin: 0 auto; height: 54px; padding: 0 22px; gap: 22px;
  background: color-mix(in srgb, var(--bg) 72%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  border: none; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none;
}
.ka .ka-nav .links a { box-shadow: none !important; border-radius: 8px; font-weight: 400; }
.ka .ka-nav .theme-toggle { box-shadow: none; border: 1px solid var(--line); }
.ka .ka-nav .btn-accent { padding: 8px 16px !important; font-size: 13px !important; border: none; }

/* ---- inputs / search ---- */
.ka .input, .ka textarea.input, .ka .ka-search, .ka .fake-input {
  border: 1px solid var(--line); box-shadow: none; background: var(--surface);
}
.ka .input:focus { box-shadow: 0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent); border-color: color-mix(in srgb, var(--accent) 55%, transparent); }

/* ---- chips / badges / tabs / pills that used inline neumorphic shadow ---- */
.ka .fchip, .ka .tbadge, .ka .arrow-dot, .ka .back, .ka .link-chip, .ka .join-link,
.ka .ev-arrow, .ka .seg .opt, .ka .person, .ka .taglist .ptag, .ka .composer .t,
.ka .dropzone, .ka .oauth .ob, .ka .agree .box, .ka .dB-livepill {
  box-shadow: none; border: 1px solid var(--line);
}
.ka .fchip.on, .ka .seg .opt.on, .ka .agree .box.on { border-color: transparent; }
.ka .dtabs, .ka .auth-tabs { background: var(--inset); border: 1px solid var(--line); box-shadow: none; }
.ka .dtabs button.on, .ka .auth-tabs button.on { box-shadow: none; border: 1px solid var(--line); background: var(--surface); }
.ka .done-card .check, .ka .reg-card .check { box-shadow: none; border: 1px solid var(--line); }
.ka .post .pfoot .met:hover, .ka .thread-post .pfoot .met:hover { box-shadow: none; background: var(--inset); }

/* ---- hide the busy animated backdrop on inner heroes (clean Apple look) ---- */
.ka .backdrop { display: none; }

/* ---- footer / hairlines ---- */
.ka .ka-foot { border-top: 1px solid var(--line); }

/* ---- eyebrow: drop the techy mono-uppercase for a cleaner label ---- */
.ka .pb .eyebrow, .ka .sec-head .eyebrow, .ka .dC-section .eyebrow {
  font-family: inherit; text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 600; color: var(--accent);
}
