/* ============================================================
   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 → floating frosted glass pill (all pages, blends into aurora) ---- */
.ka .ka-navwrap {
  position: sticky; top: 0; z-index: 50;
  padding: 14px 16px 8px;
  background: transparent !important;
  box-shadow: none !important;
}
/* kill old solid fade strip from site.css that leaves bar residue at corners */
.ka .ka-navwrap::before,
.ka .ka-navwrap::after {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}
.ka .ka-navwrap .kc {
  max-width: none; padding: 0;
  background: transparent !important;
  box-shadow: none !important;
}
.ka .ka-nav {
  max-width: 1120px; margin: 0 auto; height: 54px; padding: 0 12px 0 18px; gap: 14px;
  background: color-mix(in srgb, var(--ah-card, var(--surface)) 52%, transparent) !important;
  -webkit-backdrop-filter: saturate(160%) blur(18px);
  backdrop-filter: saturate(160%) blur(18px);
  border: 1px solid color-mix(in srgb, var(--ah-line, var(--line)) 70%, transparent);
  border-radius: 999px;
  box-shadow:
    0 10px 30px -18px color-mix(in oklch, var(--accent) 22%, transparent),
    inset 0 1px 0 rgba(255,255,255,.42) !important;
}
/* left logo / brand: no solid patch, no neumorphic fill */
.ka .ka-nav .ka-brand,
.ka .ka-nav > a:first-child {
  display: inline-flex; align-items: center; flex: 0 0 auto;
  margin: 0; padding: 0 4px 0 0;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0;
}
.ka .ka-nav .ka-brand .kata-logo-wrap,
.ka .ka-nav .ka-brand .kata-logo {
  background: transparent !important;
  box-shadow: none !important;
}
.ka .ka-nav .links a {
  box-shadow: none !important; border-radius: 999px; font-weight: 400;
  color: var(--ink-soft); opacity: .9; transition: color .2s, background .2s, opacity .2s;
  background: transparent !important;
}
.ka .ka-nav .links a:hover {
  color: var(--ink); opacity: 1;
  background: color-mix(in srgb, var(--accent) 8%, transparent) !important;
}
.ka .ka-nav .links a.on {
  color: var(--ink); opacity: 1;
  background: color-mix(in srgb, var(--accent) 12%, transparent) !important;
}
/* right controls: transparent glass chips, no gray nm-rise blocks */
.ka .ka-nav .right {
  display: flex; align-items: center; gap: 8px;
  background: transparent !important;
  box-shadow: none !important;
}
.ka .ka-nav .theme-toggle,
.ka .ka-nav .ka-iconbtn,
.ka .ka-nav .ka-acct-btn {
  box-shadow: none !important;
  border: 1px solid color-mix(in srgb, var(--line) 70%, transparent) !important;
  background: color-mix(in srgb, var(--surface) 38%, transparent) !important;
  color: var(--ink-soft);
  border-radius: 999px;
}
.ka .ka-nav .theme-toggle:hover,
.ka .ka-nav .ka-iconbtn:hover,
.ka .ka-nav .ka-acct-btn:hover {
  color: var(--ink);
  background: color-mix(in srgb, var(--surface) 58%, transparent) !important;
}
.ka .ka-nav .btn-accent {
  padding: 8px 16px !important; font-size: 13px !important; border: none !important;
  border-radius: 999px;
  background: var(--accent) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px -10px color-mix(in oklch, var(--accent) 55%, transparent) !important;
}
/* neutralize any leftover neumorphic utility on nav chrome */
.ka .ka-nav.nm-rise,
.ka .ka-nav.nm-rise-sm,
.ka .ka-nav .nm-rise,
.ka .ka-nav .nm-rise-sm {
  background: transparent !important;
  box-shadow: none !important;
}
.ka .ka-nav.nm-rise,
.ka .ka-nav.nm-rise-sm {
  background: color-mix(in srgb, var(--ah-card, var(--surface)) 52%, transparent) !important;
  box-shadow:
    0 10px 30px -18px color-mix(in oklch, var(--accent) 22%, transparent),
    inset 0 1px 0 rgba(255,255,255,.42) !important;
}

/* ---- 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);
}


/* ============================================================
   SITEWIDE AURORA + TECH NETWORK + GLASS
   Extends home Hero v16 visual language to ALL pages.
   Loaded last — overrides flat Apple surfaces into glass.
   ============================================================ */

/* ---- shared aurora tokens (all pages) — cool blue only, no pink/purple ---- */
.ka {
  --ah-bg: #f3f7fc;
  --ah-card: rgba(255,255,255,0.70);
  --ah-card-solid: #ffffff;
  --ah-ink: #1d1d1f;
  --ah-sub: #5c6370;
  --ah-line: rgba(29,29,31,0.10);
  --ah-accent: var(--accent);
  --ah-glow: color-mix(in oklch, var(--accent) 26%, transparent);
  --ah-glow-2: color-mix(in oklch, color-mix(in oklch, var(--accent) 40%, #38bdf8) 18%, transparent);
  --ah-glow-3: color-mix(in oklch, color-mix(in oklch, var(--accent) 30%, #22d3ee) 16%, transparent);
  position: relative;
  min-height: 100vh;
  isolation: isolate;
  color: var(--ah-ink);
  background:
    radial-gradient(ellipse 90% 55% at 12% -5%, color-mix(in oklch, var(--accent) 16%, transparent), transparent 62%),
    radial-gradient(ellipse 70% 45% at 96% 18%, color-mix(in oklch, #38bdf8 12%, transparent), transparent 60%),
    radial-gradient(ellipse 80% 50% at 50% 105%, color-mix(in oklch, #22d3ee 10%, transparent), transparent 65%),
    linear-gradient(180deg, #f5f8fd 0%, #eef4fb 45%, #f3f7fc 100%);
}
:root[data-theme="dark"] .ka {
  --ah-bg: #04070e;
  --ah-card: rgba(14,20,32,0.58);
  --ah-card-solid: #0d1420;
  --ah-ink: #f5f5f7;
  --ah-sub: #a1a1a6;
  --ah-line: rgba(255,255,255,0.12);
  --ah-glow: color-mix(in oklch, var(--accent) 34%, transparent);
  --ah-glow-2: color-mix(in oklch, color-mix(in oklch, var(--accent) 42%, #38bdf8) 24%, transparent);
  --ah-glow-3: color-mix(in oklch, color-mix(in oklch, var(--accent) 35%, #22d3ee) 20%, transparent);
  background:
    radial-gradient(ellipse 90% 55% at 10% -8%, color-mix(in oklch, var(--accent) 26%, transparent), transparent 62%),
    radial-gradient(ellipse 70% 50% at 95% 20%, color-mix(in oklch, #38bdf8 16%, transparent), transparent 60%),
    radial-gradient(ellipse 85% 50% at 48% 105%, color-mix(in oklch, #22d3ee 12%, transparent), transparent 65%),
    linear-gradient(180deg, #04070e 0%, #07101a 48%, #050912 100%);
}
:root[data-theme="light"] body,
:root[data-theme="dark"] body {
  background: var(--ah-bg, var(--bg));
}
:root[data-theme="light"] {
  --bg: #f3f7fc; --bg-sink: rgba(0,0,0,0.03); --bg-rise: rgba(255,255,255,0.72);
  --surface: rgba(255,255,255,0.70); --inset: rgba(255,255,255,0.45);
  --line: rgba(29,29,31,0.10);
  --ink: #1d1d1f; --ink-soft: #5c6370; --ink-faint: #8b93a4;
}
:root[data-theme="dark"] {
  --bg: #04070e; --bg-sink: rgba(255,255,255,0.04); --bg-rise: rgba(14,20,32,0.58);
  --surface: rgba(14,20,32,0.58); --inset: rgba(255,255,255,0.05);
  --line: rgba(255,255,255,0.12);
  --ink: #f5f5f7; --ink-soft: #a1a1a6; --ink-faint: #6f7888;
}

/* content above fixed atmospheres */
.ka-content { position: relative; z-index: 1; }

/* ---- fixed aurora layer ---- */
.ka-aurora {
  position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
}
.ka-aurora .ka-blob {
  position: absolute; border-radius: 50%; filter: blur(76px); opacity: .78;
  will-change: transform;
}
.ka-aurora .ka-blob-a {
  width: min(62vw, 720px); height: min(62vw, 720px);
  left: -14vw; top: 10%;
  background: radial-gradient(closest-side, var(--ah-glow), transparent 70%);
  animation: kaBlobA 28s ease-in-out infinite alternate;
}
.ka-aurora .ka-blob-b {
  width: min(54vw, 640px); height: min(54vw, 640px);
  right: -12vw; top: 38%;
  background: radial-gradient(closest-side, var(--ah-glow-2), transparent 72%);
  animation: kaBlobB 32s ease-in-out infinite alternate;
}
.ka-aurora .ka-blob-c {
  width: min(48vw, 560px); height: min(48vw, 560px);
  left: 28%; bottom: -6%;
  background: radial-gradient(closest-side, var(--ah-glow-3), transparent 74%);
  animation: kaBlobC 24s ease-in-out infinite alternate;
}
.ka-aurora .ka-mesh {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 55% 30% at 50% 0%, color-mix(in oklch, var(--ah-accent) 8%, transparent), transparent 70%),
    radial-gradient(ellipse 40% 28% at 80% 60%, color-mix(in oklch, #38bdf8 8%, transparent), transparent 70%),
    radial-gradient(ellipse 42% 26% at 18% 75%, color-mix(in oklch, #22d3ee 6%, transparent), transparent 72%);
  opacity: .9;
}
.ka-aurora .ka-grain {
  position: absolute; inset: 0; opacity: .035; mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.55'/></svg>");
}
:root[data-theme="dark"] .ka-aurora .ka-grain { opacity: .055; mix-blend-mode: overlay; }
@keyframes kaBlobA { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(5%,4%,0) scale(1.08); } }
@keyframes kaBlobB { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(-4%,-5%,0) scale(1.1); } }
@keyframes kaBlobC { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(3%,-3%,0) scale(1.06); } }
@media (prefers-reduced-motion: reduce) {
  .ka-aurora .ka-blob { animation: none !important; }
}

/* ---- fixed tech constellation canvas (ALL pages)
   Sparse + cursor-reactive (Hero v16 style), not dense lattice ---- */
.ka-technet {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
}
.ka-technet-cv {
  display: block; width: 100%; height: 100%;
  opacity: .72;
  mix-blend-mode: normal;
}
:root[data-theme="dark"] .ka-technet-cv { opacity: .82; }
:root[data-theme="light"] .ka-technet-cv { opacity: .68; }
/* soft vignette so lines stay atmospheric, not noisy */
.ka-technet::after {
  content: "";
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 120% 110% at 50% 42%, transparent 62%, color-mix(in srgb, var(--ah-bg) 16%, transparent) 100%);
  opacity: .12;
}
/* home local hero canvas is redundant once sitewide TechNet is sparse */
.ka[data-page="home"] .ah-hero #stars { opacity: 0 !important; visibility: hidden; }

/* nav / footer above atmospheres */
.ka .ka-navwrap { position: sticky; top: 0; z-index: 50; background: transparent; }
.ka .ka-foot {
  position: relative; z-index: 1;
  background: color-mix(in srgb, var(--ah-card, var(--surface)) 48%, transparent);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  border-top: 1px solid color-mix(in srgb, var(--ah-line, var(--line)) 70%, transparent);
}
:root[data-theme="dark"] .ka .ka-nav {
  box-shadow:
    0 12px 32px -18px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.08);
  background: color-mix(in srgb, var(--ah-card) 55%, transparent);
}

/* ---- glass surfaces (all cards) ---- */
.ka .nm-rise, .ka .nm-rise-sm,
.ka .panel, .ka .side-card, .ka .erow, .ka .en-feat,
.ka .work-card, .ka .post, .ka .composer,
.ka .auth-card, .ka .reg-card,
.ka .thread-post, .ka .comments,
.ka .item-hero, .ka .done-card,
.ka .tips, .ka .facts, .ka .agenda, .ka .people,
.ka .filelist, .ka .readme, .ka .card-cover,
.ka .org, .ka .topic, .ka .hf-emoji {
  background: var(--ah-card) !important;
  backdrop-filter: blur(18px) saturate(1.45);
  -webkit-backdrop-filter: blur(18px) saturate(1.45);
  border: 1px solid color-mix(in srgb, var(--ah-line) 85%, transparent) !important;
  box-shadow:
    0 10px 36px -18px rgba(0,0,0,0.28),
    inset 0 1px 0 rgba(255,255,255,0.22) !important;
}
:root[data-theme="dark"] .ka .nm-rise,
:root[data-theme="dark"] .ka .nm-rise-sm,
:root[data-theme="dark"] .ka .panel,
:root[data-theme="dark"] .ka .side-card,
:root[data-theme="dark"] .ka .erow,
:root[data-theme="dark"] .ka .en-feat,
:root[data-theme="dark"] .ka .work-card,
:root[data-theme="dark"] .ka .post,
:root[data-theme="dark"] .ka .composer,
:root[data-theme="dark"] .ka .auth-card,
:root[data-theme="dark"] .ka .reg-card,
:root[data-theme="dark"] .ka .thread-post,
:root[data-theme="dark"] .ka .comments,
:root[data-theme="dark"] .ka .item-hero {
  box-shadow:
    0 12px 40px -16px rgba(0,0,0,0.72),
    inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

.ka .nm-sink, .ka .nm-sink-sm,
.ka .ka-search, .ka .input, .ka textarea.input, .ka .fake-input {
  background: color-mix(in srgb, var(--ah-card) 55%, transparent) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid color-mix(in srgb, var(--ah-line) 80%, transparent) !important;
  box-shadow: none !important;
}

.ka .nm-press:hover {
  transform: translateY(-3px);
  box-shadow:
    0 18px 48px -20px color-mix(in oklch, var(--accent) 35%, rgba(0,0,0,0.35)),
    inset 0 1px 0 rgba(255,255,255,0.28) !important;
  border-color: color-mix(in oklch, var(--accent) 28%, var(--ah-line)) !important;
}


/* page hero bands stay transparent so technet shows through */
.ka .ka-stage,
.ka .pb,
.ka .dview,
.ka .auth-stage,
.ka .ka-cols,
.ka .list-head,
.ka .demo-grid,
.ka .feed,
.ka .elist {
  background: transparent !important;
  position: relative;
  z-index: 1;
}
.ka .backdrop { display: none !important; }

/* secondary page titles — tech accent underline like home */
.ka .pb h1 .ac {
  background: linear-gradient(118deg, var(--accent) 20%, color-mix(in oklch, var(--accent) 40%, #38bdf8) 85%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ka .pb h1 .und::after {
  background: linear-gradient(90deg, var(--accent), color-mix(in oklch, var(--accent) 40%, #38bdf8));
  opacity: .85; height: 3px; border-radius: 3px;
}
.ka .pb p { color: var(--ah-sub); }
.ka .sec-title, .ka .list-head .sec-title { color: var(--ah-ink); }
.ka .count, .ka .muted, .ka .sub { color: var(--ah-sub); }

/* chips / pills glass */
.ka .fchip, .ka .tbadge, .ka .back, .ka .link-chip, .ka .join-link,
.ka .seg .opt, .ka .person, .ka .taglist .ptag, .ka .composer .t,
.ka .dropzone, .ka .oauth .ob, .ka .kind, .ka .arrow-dot, .ka .ptag {
  background: color-mix(in srgb, var(--ah-card) 70%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid color-mix(in srgb, var(--ah-line) 85%, transparent);
  box-shadow: none;
}
.ka .fchip.on, .ka .seg .opt.on {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 0 0 1px color-mix(in oklch, var(--accent) 30%, transparent),
              0 8px 22px -10px color-mix(in oklch, var(--accent) 55%, transparent) !important;
}

/* primary buttons — soft tech glow */
.ka .btn-accent {
  background: linear-gradient(135deg,
    var(--accent),
    color-mix(in oklch, var(--accent) 55%, #38bdf8)) !important;
  color: #fff !important;
  border: none !important;
  box-shadow:
    0 8px 24px -10px color-mix(in oklch, var(--accent) 55%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.25) !important;
}
.ka .btn-accent:hover {
  filter: brightness(1.06);
  box-shadow:
    0 12px 30px -10px color-mix(in oklch, var(--accent) 65%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.3) !important;
}

/* nav glass continuity */
.ka .ka-nav {
  background: color-mix(in srgb, var(--ah-bg) 58%, transparent) !important;
  -webkit-backdrop-filter: saturate(180%) blur(22px) !important;
  backdrop-filter: saturate(180%) blur(22px) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--ah-line) 70%, transparent) !important;
}
.ka .ka-nav .links a.on {
  color: var(--accent) !important;
  background: color-mix(in oklch, var(--accent) 10%, transparent);
}

/* footer glass */
.ka .ka-foot {
  background: color-mix(in srgb, var(--ah-bg) 55%, transparent) !important;
  backdrop-filter: blur(16px) saturate(1.3);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  border-top: 1px solid color-mix(in srgb, var(--ah-line) 70%, transparent) !important;
  color: var(--ah-sub);
}
.ka .ka-foot a { color: var(--ah-sub); }
.ka .ka-foot a:hover { color: var(--accent); }

/* tabs */
.ka .dtabs, .ka .auth-tabs {
  background: color-mix(in srgb, var(--ah-card) 50%, transparent) !important;
  border: 1px solid var(--ah-line) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.ka .dtabs button.on, .ka .auth-tabs button.on {
  background: var(--ah-card) !important;
  border: 1px solid var(--ah-line) !important;
  box-shadow: 0 4px 16px -8px rgba(0,0,0,0.25) !important;
}

/* detail / form spacing over network */
.ka .dview { padding-bottom: 64px; }
.ka .auth-stage { min-height: calc(100vh - 120px); display: flex; align-items: center; justify-content: center; padding: 40px 0 80px; }

/* work cards / posts / rows — accent edge on hover */
.ka .work-card:hover, .ka .post:hover, .ka .erow:hover, .ka .en-feat:hover,
.ka .side-card:hover, .ka .panel:hover {
  border-color: color-mix(in oklch, var(--accent) 30%, var(--ah-line)) !important;
}

/* side card org rows transparent */
.ka .side-card .org, .ka .side-card .topic {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

/* single-layer background: hide home local atmosphere entirely; only .ka-aurora paints glow */
.ka[data-page="home"] .ah-atmosphere { display: none !important; }
/* home hero local canvas denser; fixed technet continues below fold & all routes */
.ka[data-page="home"] .ah-hero .stars,
.ka[data-page="home"] .ah-hero canvas {
  opacity: .42;
  mix-blend-mode: normal;
}
/* sub-pages: ensure technet never gets covered by leftover stage fills */
.ka[data-page="community"] .ka-stage,
.ka[data-page="enterprise"] .ka-stage,
.ka[data-page="demo"] .ka-stage,
.ka[data-page="post"] .ka-stage,
.ka[data-page="auth"] .auth-stage {
  background: transparent !important;
  overflow: visible;
}
/* ensure secondary stages never paint solid over technet */
.ka .ka-stage,
.ka .dview,
.ka .auth-stage {
  background: transparent !important;
}
/* secondary page hero breathing room over network */
.ka .pb {
  padding-top: 72px;
  padding-bottom: 20px;
}
.ka .pb h1 {
  text-shadow: 0 1px 0 color-mix(in srgb, var(--ah-bg) 40%, transparent);
}
/* detail panels sit cleanly on lattice */
.ka .dview .panel,
.ka .dview .item-hero,
.ka .dview .reg-card {
  position: relative; z-index: 1;
}

/* subtle scanline mesh on all pages for tech continuity */
.ka::after {
  content: "";
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(47,109,240,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47,109,240,0.033) 1px, transparent 1px);
  background-size: 44px 44px;
  /* long, edge-to-edge fade — no hard mask ring that reads as a horizontal seam */
  mask-image: radial-gradient(ellipse 120% 120% at 50% 42%, #000 5%, rgba(0,0,0,.55) 45%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 120% 120% at 50% 42%, #000 5%, rgba(0,0,0,.55) 45%, transparent 100%);
  opacity: .55;
}
:root[data-theme="dark"] .ka::after {
  background-image:
    linear-gradient(rgba(99,140,255,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99,140,255,0.045) 1px, transparent 1px);
  opacity: .7;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .ka .nm-rise, .ka .nm-rise-sm, .ka .panel, .ka .side-card, .ka .erow,
  .ka .work-card, .ka .post, .ka .composer, .ka .auth-card {
    background: var(--ah-card-solid) !important;
  }
}

@media (max-width: 720px) {
  .ka-aurora .ka-blob { filter: blur(56px); opacity: .65; }
  .ka-technet-cv { opacity: .95; }
  .ka::after { opacity: .40; }
}

/* ============================================================
   Event detail — force glass fusion over shared surface rules
   (wins against .ka .panel / .nm-rise solid fills)
   ============================================================ */
.ka .event-detail,
.ka .event-detail.dview {
  background: transparent !important;
}
.ka .event-glass,
.ka .event-shell.event-glass,
.ka .event-reg-card.event-glass,
.ka .event-empty.event-glass {
  background: color-mix(in srgb, var(--ah-card, rgba(255,255,255,.72)) 56%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--ah-line, var(--line)) 78%, transparent) !important;
  box-shadow:
    0 18px 48px -28px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.32) !important;
  backdrop-filter: blur(22px) saturate(1.55) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.55) !important;
}
:root[data-theme="dark"] .ka .event-glass,
:root[data-theme="dark"] .ka .event-shell.event-glass,
:root[data-theme="dark"] .ka .event-reg-card.event-glass {
  background: color-mix(in srgb, var(--ah-card, rgba(28,28,30,.72)) 60%, transparent) !important;
  box-shadow:
    0 20px 52px -24px rgba(0, 0, 0, 0.72),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}
.ka .event-fact {
  background: color-mix(in srgb, var(--ah-card, rgba(255,255,255,.7)) 46%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--ah-line, var(--line)) 65%, transparent) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22) !important;
  backdrop-filter: blur(14px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.4) !important;
}
.ka .event-intro,
.ka .event-shell .event-intro {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.ka .event-open-hero {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.ka .event-reg-card .done-card,
.ka .event-reg-card .done-card .check {
  background: transparent !important;
}
.ka .event-reg-card .done-card .check {
  background: color-mix(in oklch, var(--accent) 12%, transparent) !important;
  border: 1px solid color-mix(in oklch, var(--accent) 22%, transparent) !important;
  box-shadow: none !important;
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .ka .event-glass,
  .ka .event-fact {
    background: color-mix(in srgb, var(--ah-card-solid, var(--surface)) 92%, transparent) !important;
  }
}
