/* Site-wide tokens and first-paint base. Linked first on every page, so the static
   header outside <x-dc> paints on paper, in its own faces, before support.js renders.
   Page-specific tokens live in each page's own CSS; this file is frozen after L0. */
@font-face{font-family:"MuyaoPleased";src:url("../../fonts/derived/MuyaoSuixin.woff2") format("woff2");font-display:swap}
@font-face{font-family:"DingTalk JinBuTi";src:url("../../fonts/derived/DingTalkJinBuTi.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Noto Sans SC";src:url("../../fonts/derived/NotoSansSC-ui.woff2") format("woff2");font-weight:200 900;font-display:swap}
/* Noto Serif SC is declared per page: Reading loads the -text tier, every other page the -ui tier. */
/* Fraunces, Caveat and IBM Plex Mono, cut from Google's masters by scripts/generate-fonts.py in Google's own latin /
   latin-ext split, so latin-ext is fetched only where one of its letters renders. Fraunces italic is declared per
   page: Reading sets 400–500, home only 500. */
@font-face{font-family:"Fraunces";src:url("../../fonts/derived/Fraunces-latin-ext.woff2") format("woff2");font-weight:400 600;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces";src:url("../../fonts/derived/Fraunces-latin.woff2") format("woff2");font-weight:400 600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Caveat";src:url("../../fonts/derived/Caveat-latin-ext.woff2") format("woff2");font-weight:500 600;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Caveat";src:url("../../fonts/derived/Caveat-latin.woff2") format("woff2");font-weight:500 600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";src:url("../../fonts/derived/IBMPlexMono-Regular-latin-ext.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";src:url("../../fonts/derived/IBMPlexMono-Regular-latin.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";src:url("../../fonts/derived/IBMPlexMono-Medium-latin-ext.woff2") format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";src:url("../../fonts/derived/IBMPlexMono-Medium-latin.woff2") format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  color-scheme:light;
  /* paper and ink */
  --paper:#FBF6EC;--paper2:#F3ECDD;--page:#FEFAEE;--slip:#FCF8EF;
  --ink:#33302B;--soft:#6D6559;--pencil:#736A5D;   /* pencil is 4.5:1 on paper and paper2; on plank, board or wheat use --soft for text */
  --line:#E4DAC7;--line-strong:#CFC1A9;
  /* coral: identity and the pen's attention only, never small text. The pen is coral
     multiplied by its paper; pen.css switches --pen per [data-paper]. */
  --mark:#D9695A;--mark-deep:#A5453A;
  --pen-cream:#D9695A;--pen-cork:#CB5E49;--pen-wheat:#C85E47;--pen:var(--pen-cream);
  /* chosen state: the wheat highlighter band and its edge */
  --hl:#DCCF98;--hl-ink:#AD9650;
  --hl-ink-kraft:#8F7A3C;   /* the band's edge on kraft, 2.6 px: multiplied, #795D24, 3.56:1 (pen.css) */
  /* corkboard, bookshelf and washes */
  --board:#EEE4CE;--plank:#EFE6D4;--lip:#E4D9C3;
  --wash-blue:#DCE8E7;--wash-peach:#F0D9CD;--wash-wheat:#E9DFC5;
  /* type, each with its CJK partner */
  --disp:"Fraunces","DingTalk JinBuTi",serif;
  --text:"Fraunces","Noto Serif SC",Georgia,serif;
  --util:"IBM Plex Mono","Noto Sans SC",monospace;
  --hand:"Caveat","MuyaoPleased",cursive;
  /* two clocks: pen strokes and paper settling */
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --ease-pen:cubic-bezier(.55,.1,.25,1);
  --ease-settle:cubic-bezier(.34,1.36,.5,1);
  --t-micro:180ms;--t-move:520ms;
}
html{background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);line-height:1.5}
a{color:inherit;text-decoration:none}

/* The subpage frame around the static header (it used to be the x-dc root's top padding). */
.site-top{display:flex;flex-direction:column;align-items:center;padding:30px 4vw 0}
