/* The shared reading frame. Page-specific figures and layouts keep their own styles. */
:root {
  color-scheme: light;
  --site-yellow: #FBB034;
  --site-bg: #f7f7f7;
  --site-surface: #ededed;
  --site-ink: #262626;
  --site-muted: #777;
  --site-line: #dedede;
  --site-header-bg: rgba(247,247,247,.95);
  --site-header-height: 64px;
  --site-font: "Jost","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --site-bg: #202020;
  --site-surface: #292929;
  --site-ink: #efefef;
  --site-muted: #aaa;
  --site-line: #3b3b3b;
  --site-header-bg: rgba(32,32,32,.95);
}
html {
  --paper: var(--site-bg) !important;
  --bg: var(--site-bg) !important;
  --ink: var(--site-ink) !important;
  --muted: var(--site-muted) !important;
  --line: var(--site-line) !important;
  --accent: var(--site-yellow) !important;
  --soft: var(--site-surface) !important;
  scroll-padding-top: calc(var(--site-header-height) + 32px);
  background: var(--site-bg);
}
body[data-site-kind] {margin:0;background-color:var(--site-bg);color:var(--site-ink);-webkit-font-smoothing:antialiased;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23888' opacity='.035' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");}
body[data-site-kind] ::selection {background:#FBB034;color:#262626;}
body[data-site-kind] :is(a,button,input,textarea,select,summary,[tabindex]):focus-visible {outline:2px solid var(--site-yellow);outline-offset:4px;}
body[data-site-kind] :is(input,textarea,select) {accent-color:var(--site-yellow);}
body[data-site-kind] :is(a,button,summary) {transition:color .18s ease,border-color .18s ease,background-color .18s ease;}
@media (hover:hover) {
  body[data-site-kind] a:not(:has(img)):hover {color:var(--site-yellow);}
}
.site-detail-header, .site-detail-footer {font-family:var(--site-font);box-sizing:border-box;font-weight:400;letter-spacing:0;line-height:1.6;}
.site-detail-header {position:sticky;top:0;z-index:80;background:var(--site-header-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--site-line);}
.site-detail-bar {width:min(1280px,calc(100% - 128px));height:var(--site-header-height);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.site-detail-header a {text-decoration:none;color:var(--site-ink);}
.site-detail-brand {display:flex;align-items:baseline;gap:15px;min-width:0;white-space:nowrap;font:600 14px/1.3 var(--site-font);letter-spacing:0;}
.site-detail-brand-name {display:inline-flex;align-items:baseline;font-size:14px;line-height:1.3;font-weight:500;letter-spacing:.015em;color:var(--site-ink);}
.site-detail-brand-name>[data-site-zh] {font-size:inherit;font-weight:inherit;white-space:pre;}
.site-detail-brand-divider {font-size:13px;line-height:1;font-weight:400;color:var(--site-muted);}
.site-detail-brand-label {display:inline-flex;align-items:baseline;gap:9px;font-size:12px;line-height:1.3;font-weight:500;letter-spacing:0;color:var(--site-muted);}
.site-detail-library-label {font-size:11px;letter-spacing:.015em;}
.site-detail-brand:is(:hover,:focus-visible) :is(.site-detail-brand-name,.site-detail-brand-label,.site-detail-brand-divider) {color:var(--site-yellow);}
.site-detail-nav {display:flex;align-items:center;gap:24px;font-size:12px;}
.site-detail-controls {display:flex;align-items:center;gap:12px;padding-left:22px;border-left:1px solid var(--site-line);}
.site-detail-controls button {display:grid;place-items:center;min-width:30px;height:36px;padding:0;border:0;border-radius:0;background:transparent;color:var(--site-ink);font:11px var(--site-font);cursor:pointer;}
.site-detail-controls button:hover {color:var(--site-yellow);}
.site-detail-theme svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.25;}
.site-detail-sun {display:none;}
html[data-theme=dark] .site-detail-sun {display:block;}
html[data-theme=dark] .site-detail-moon {display:none;}
.site-detail-footer {width:min(1120px,calc(100% - 96px));margin:56px auto 0;padding:26px 0 30px;border-top:1px solid var(--site-line);color:var(--site-ink);font-size:12px;}
.site-detail-neighbors {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:36px;align-items:start;}
.site-detail-neighbors a {display:block;text-decoration:none;color:var(--site-ink);min-width:0;overflow-wrap:anywhere;}
.site-detail-neighbors a:last-child {text-align:right;}
.site-detail-neighbors small {display:block;color:var(--site-muted);font-size:10px;margin-bottom:8px;}
.site-detail-neighbors strong {font-weight:400;font-size:13px;line-height:1.8;}
.site-detail-home {white-space:nowrap;color:var(--site-muted)!important;padding:1px 0 4px;border-bottom:1px solid var(--site-line);}
.site-detail-copyright {text-align:center;font-size:10px;color:var(--site-muted);margin:45px 0 0;}
.site-detail-skip {position:fixed;top:8px;left:20px;z-index:100;transform:translateY(-160%);padding:10px 14px;background:var(--site-ink);color:var(--site-bg);font:12px var(--site-font);text-decoration:none;}
.site-detail-skip:focus {transform:none;}
@media(min-width:1600px) {.site-detail-bar{width:min(calc(100% - 160px),1440px);}}
@media(max-width:1179px) {.site-detail-bar{width:calc(100% - 64px);}}
@media(max-width:760px) {
  :root{--site-header-height:58px;}
  .site-detail-bar{width:calc(100% - 36px);gap:12px;}
  .site-detail-brand{font-size:12px;gap:8px;}.site-detail-brand-name{font-size:12px;}.site-detail-brand-label{font-size:10px;}.site-detail-brand-divider{font-size:11px;}.site-detail-library-label{display:none;}
  .site-detail-nav{gap:12px;font-size:11px;}.site-detail-controls{gap:3px;padding-left:9px;}
  .site-detail-controls button{min-width:26px;}
  .site-detail-footer{width:calc(100% - 40px);margin-top:36px;padding-top:22px;}
  .site-detail-neighbors{gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .site-detail-neighbors .site-detail-home{grid-row:2;grid-column:1 / -1;justify-self:start;}
  .site-detail-neighbors strong{font-size:12px;}.site-detail-copyright{margin-top:32px;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}body[data-site-kind] :is(a,button,summary){transition:none!important;}}
@media print{.site-detail-header,.site-detail-footer,.site-detail-skip{display:none!important;}body[data-site-kind]{background:white;color:#262626;}}

/* Match the homepage's fixed mobile masthead, including the iPhone safe area. */
@media(max-width:760px){
  html{scroll-padding-top:calc(var(--site-header-height) + 32px + env(safe-area-inset-top,0px))}
  body[data-site-kind]{padding-top:calc(var(--site-header-height) + 1px + env(safe-area-inset-top,0px))}
  .site-detail-header{position:fixed;top:0;left:0;right:0;z-index:90;padding-top:env(safe-area-inset-top,0px);background:var(--site-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
  .site-detail-bar{width:100%;box-sizing:border-box;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
}
