/* AuthorNotebook — shared light theme + language globe */
:root{
  --bg:#f8faff;
  --bg2:#eef4ff;
  --bg3:#dde8ff;
  --white:#ffffff;
  --card:#ffffff;
  --accent:#2c3a52;
  --accent-d:#1a1a2e;
  --navy:#1a1a2e;
  --navy2:#2c3a52;
  --navy3:#3d5070;
  --blue-soft:#eef4ff;
  --blue-mid:#c8daff;
  --gold:#2c3a52;
  --gold2:#3d5070;
  --gold3:#6882a8;
  --gold-soft:rgba(44,58,82,0.08);
  --gold-mid:rgba(44,58,82,0.14);
  --gold-glow:rgba(44,58,82,0.18);
  --ink:#1a1a2e;
  --ink2:#2c3a52;
  --ink3:#4a5568;
  --ink4:#9aa3af;
  --text:#1a1a2e;
  --text2:#2c3a52;
  --text3:#4a5568;
  --border:rgba(44,58,82,0.10);
  --border2:rgba(44,58,82,0.20);
  --shadow:0 2px 16px rgba(44,58,82,0.06);
  --shadow2:0 8px 40px rgba(44,58,82,0.13);
  --r:12px;
  --r2:18px;
  --sans:"Instrument Sans","Noto Sans SC","Noto Sans TC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --serif:var(--sans);
  --cn:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --tc:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  --mute-line:rgba(44,58,82,0.08);
}

html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.65}
body.zh-hans{font-family:var(--cn),var(--sans)}
body.zh-hant{font-family:var(--tc),var(--sans)}

/* trilingual: data-en / data-hans / data-hant */
[data-en],[data-hans],[data-hant]{display:none!important}
body.en [data-en]{display:revert!important}
body.zh-hans [data-hans]{display:revert!important}
body.zh-hant [data-hant]{display:revert!important}
body.en span[data-en],body.en a[data-en]{display:inline!important}
body.zh-hans span[data-hans],body.zh-hans a[data-hans]{display:inline!important}
body.zh-hant span[data-hant],body.zh-hant a[data-hant]{display:inline!important}

/* bilingual compat: data-zh visible for all zh variants */
[data-zh]{display:none!important}
body.zh [data-zh]{display:revert!important}
body.zh-hans [data-zh]{display:revert!important}
body.zh-hant [data-zh]{display:revert!important}
body.zh span[data-zh],body.zh a[data-zh],
body.zh-hans span[data-zh],body.zh-hans a[data-zh],
body.zh-hant span[data-zh],body.zh-hant a[data-zh]{display:inline!important}

/* ── Shared nav ───────────────────────────────── */
nav.anb-nav,nav{
  background:rgba(248,250,255,0.92)!important;
  border-bottom:1px solid var(--border)!important;
  backdrop-filter:blur(20px)!important;
}
.nav-logo-text span{color:var(--navy2)!important}
.nav-links a{color:var(--ink3)!important}
.nav-links a:hover,.nav-links a.active{color:var(--navy2)!important;background:transparent!important}
.nav-cta{background:var(--navy2)!important;color:#fff!important}
.nav-cta:hover{background:var(--navy3)!important}

/* ── Globe language dropdown ──────────────────── */
.lang-globe{position:relative;display:inline-flex}
.lang-globe-btn{
  display:flex;align-items:center;gap:0.35rem;
  padding:0.3rem 0.8rem;
  background:transparent;
  border:1px solid var(--border2);
  border-radius:20px;
  cursor:pointer;
  font-family:var(--sans);font-size:0.72rem;font-weight:600;
  color:var(--ink3);
  transition:all .18s;white-space:nowrap;line-height:1;
}
.lang-globe-btn:hover{color:var(--navy2);border-color:var(--navy2)}
.lang-globe-btn svg{flex-shrink:0;vertical-align:middle}
.lang-caret{transition:transform .2s;opacity:.65}
.lang-globe.open .lang-caret{transform:rotate(180deg)}
.lang-dropdown{
  position:absolute;top:calc(100% + 8px);right:0;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 8px 32px rgba(44,58,82,0.14);
  overflow:hidden;
  min-width:152px;
  opacity:0;pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .18s,transform .18s;
  z-index:9999;
}
.lang-globe.open .lang-dropdown{opacity:1;pointer-events:auto;transform:none}
.lang-option{
  display:flex;align-items:center;gap:0.6rem;
  padding:0.65rem 1rem;
  font-size:0.8rem;font-weight:500;
  color:var(--ink2);
  cursor:pointer;
  transition:background .15s,color .15s;
  border:none;background:transparent;width:100%;text-align:left;
  font-family:var(--sans);line-height:1;
}
.lang-option:hover{background:var(--bg2);color:var(--navy2)}
.lang-option.active{color:var(--navy2);font-weight:700;background:var(--bg3)}
.lang-option .lang-flag{font-size:1rem;line-height:1}

/* hide old pill if still in markup */
.lang-pill{display:none!important}

/* ── Shared page hero ─────────────────────────── */
.page-hero{background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%)!important;border-bottom:1px solid var(--border)!important}
.page-hero h1,.hero h1{font-family:var(--sans)!important;font-weight:700!important}
.page-hero h1 em,.hero h1 em,.section-title em{font-style:normal!important;font-weight:700!important;color:var(--navy2)!important}
.section-title{font-family:var(--sans)!important;font-weight:700!important}
.prose h2{font-family:var(--sans)!important;font-weight:700!important}

/* ── Shared footer ────────────────────────────── */
footer{background:var(--bg2)!important;border-top:1px solid var(--border)!important;color:var(--ink2)!important}
.footer-bottom{background:var(--bg2)!important;border-top:1px solid var(--border)!important}
.footer-col-links a{color:var(--ink3)!important}
.footer-col-links a:hover,.footer-logo-text2 span{color:var(--navy2)!important}
.footer-col-title{color:var(--ink)!important}

/* ── Cards ────────────────────────────────────── */
.card,.ef-card,.sh-card{background:var(--white)!important;border-color:var(--border)!important}
.card-title,.card-desc{color:inherit}
