/*! bubbleapp.cn — 共享层 / shared layer: language switch + reveal + polish */
:root{
  --blb-brand:#4f86df;
  --blb-brand-d:#2f6bc0;
  --blb-ink:#0f172a;
  --blb-muted:#5b6b7f;
  --blb-line:#e3e9f2;
  --blb-surface:#f6f9fc;
}
/* --- language switch: segmented control, app-style --- */
.lang-switch{
  display:inline-flex;align-items:center;gap:2px;padding:2px;
  border:1px solid var(--blb-line);border-radius:999px;background:#fff;
  font-size:.78rem;line-height:1;font-weight:600;user-select:none;flex:none;
  box-shadow:0 1px 2px rgba(15,23,42,.05);
}
.lang-switch button{
  appearance:none;border:0;background:transparent;cursor:pointer;
  padding:6px 11px;border-radius:999px;color:var(--blb-muted);
  font:inherit;letter-spacing:.02em;transition:background .16s,color .16s;
}
.lang-switch button:hover{color:var(--blb-brand-d)}
.lang-switch button.is-active{background:var(--blb-ink);color:#fff}
.lang-switch button.is-active:hover{color:#fff}
.lang-switch button:focus-visible{outline:2px solid var(--blb-brand);outline-offset:2px}
/* compact variant used in tight headers */
.lang-switch.compact button{padding:5px 9px;font-size:.74rem}
/* dark surfaces */
.lang-switch.on-dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);box-shadow:none}
.lang-switch.on-dark button{color:#c8d4e4}
.lang-switch.on-dark button.is-active{background:#fff;color:var(--blb-ink)}
/* --- reveal --- */
.blb-reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.blb-reveal.blb-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .blb-reveal{opacity:1;transform:none;transition:none}
}
/* --- hide one language when displaying the other (for dual-copy nodes) --- */
html[data-lang="en"] [data-only="zh"]{display:none !important}
html[data-lang="zh"] [data-only="en"],
html:not([data-lang]) [data-only="en"]{display:none !important}
