/* The Living Hanzi — shared shell
   Tokens are shared with seed-mvp / logo prototypes. Shell rules are all
   .site-* prefixed so a page can keep its own self-contained <style> after
   this file without collisions. */
:root{
  --ground:#F1F2EF;
  --ground-2:#E6E8E3;
  --panel:#FAFBF9;
  --ink:#1C2740;
  --ink-soft:#59637A;
  --ink-faint:#98A0AE;
  --rule:#D5D9D2;
  --jade:#357F74;
  --jade-soft:#9CC4BD;
  --coral:#C7644F;
  --lav:#ADA7BF;
  --grid:#DBDED7;
  --shadow:rgba(28,39,64,.08);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#141920;
    --ground-2:#1A2028;
    --panel:#1A2029;
    --ink:#E9E7DF;
    --ink-soft:#A3AAB6;
    --ink-faint:#69727E;
    --rule:#2A323C;
    --jade:#74BFB2;
    --jade-soft:#2E4B48;
    --coral:#E0917F;
    --lav:#8B85A0;
    --grid:#232B35;
    --shadow:rgba(0,0,0,.4);
  }
}
:root[data-theme="dark"]{
  --ground:#141920;
  --ground-2:#1A2028;
  --panel:#1A2029;
  --ink:#E9E7DF;
  --ink-soft:#A3AAB6;
  --ink-faint:#69727E;
  --rule:#2A323C;
  --jade:#74BFB2;
  --jade-soft:#2E4B48;
  --coral:#E0917F;
  --lav:#8B85A0;
  --grid:#232B35;
  --shadow:rgba(0,0,0,.4);
}

*{box-sizing:border-box}

body{
  margin:0;
  background:var(--ground);
  color:var(--ink);
  font-family:"Avenir Next","Avenir","Segoe UI",system-ui,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

.serif{font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua","Hoefler Text",Georgia,serif}
.han{font-family:"Songti SC","STSong","Source Han Serif SC","Noto Serif CJK SC","SimSun",serif}
.wrap{max-width:960px;margin:0 auto;padding:0 28px}

a{color:inherit}

/* ---------- masthead ---------- */
.site-head{border-bottom:1px solid var(--rule);padding:22px 0 18px}
.site-head-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-brand{
  display:flex;align-items:center;gap:11px;text-decoration:none;
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  font-size:19px;letter-spacing:.04em;
}
.site-brand .mark{width:22px;height:22px;flex:none;display:block}
.site-nav{display:flex;align-items:center;gap:22px;font-size:14px}
.site-nav a{
  color:var(--ink-soft);text-decoration:none;
  border-bottom:1px solid transparent;padding-bottom:2px;
  transition:color .3s,border-color .3s;
}
.site-nav a:hover{color:var(--ink);border-bottom-color:var(--jade)}
.site-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--rule)}

/* ---------- buttons ---------- */
.site-btn{
  display:inline-block;border:1px solid var(--ink);background:transparent;color:var(--ink);
  padding:12px 24px;border-radius:2px;font:inherit;font-size:14.5px;cursor:pointer;
  letter-spacing:.02em;text-decoration:none;
  transition:background .3s,color .3s,border-color .3s;
}
.site-btn:hover{background:var(--ink);color:var(--ground)}
.site-btn.quiet{border-color:var(--rule);color:var(--ink-soft);padding:9px 16px;font-size:13.5px}
.site-btn.quiet:hover{background:transparent;border-color:var(--ink-soft);color:var(--ink)}

/* ---------- footer ---------- */
.site-foot{border-top:1px solid var(--rule);padding:26px 0 44px;font-size:12.5px;color:var(--ink-faint)}
.site-foot-in{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:baseline}
.site-foot a{color:var(--ink-faint);text-decoration:underline;text-underline-offset:3px}
.site-foot a:hover{color:var(--ink-soft)}
.site-foot button{background:none;border:none;color:var(--ink-faint);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}
.site-foot button:hover{color:var(--ink-soft)}
.site-foot-links{display:flex;gap:18px;flex-wrap:wrap}

@media (max-width:640px){
  .wrap{padding:0 18px}
  .site-head-in{gap:12px}
  .site-nav{gap:16px;font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}
