/* Generated by build_handouts.py: sales content is intentionally unstyled. */
/* Shared by the React site and generated member pages. */
.site-nav, .site-footer {
  color-scheme: light;
  --paper: #f7f4ed; --paper-2: #eee8dc; --ink: #24221e; --ink-2: #625c53; --ink-3: #797268;
  --line: #d9d1c3; --accent: 8 59% 40%; --accent-deep: #853426; --accent-tint: #efe0d6;
  --footer-bg: #eee8dc; --footer-ink: #24221e;
  --background: 42 38% 95%; --foreground: 40 9% 13%; --card: 42 38% 95%; --card-foreground: 40 9% 13%;
  --popover: 42 38% 97%; --popover-foreground: 40 9% 13%; --primary: 40 9% 13%; --primary-foreground: 42 38% 95%;
  --secondary: 40 29% 90%; --secondary-foreground: 40 9% 13%; --muted: 40 29% 90%; --muted-foreground: 35 8% 38%;
  --accent-foreground: 42 38% 97%; --border: 38 22% 81%; --input: 38 22% 81%; --ring: 8 59% 40%;
  --destructive: 0 72% 44%; --destructive-foreground: 0 0% 100%; --radius: 0.125rem;
}
[data-theme="dark"] .site-nav, [data-theme="dark"] .site-footer {
  color-scheme: dark;
  --paper: #201e1a; --paper-2: #2a2722; --ink: #eee7da; --ink-2: #c2b8a7; --ink-3: #ab9f8c;
  --line: #4a443a; --accent: 12 58% 65%; --accent-deep: #eba88e; --accent-tint: #3c2e25;
  --footer-bg: #2a2722; --footer-ink: #eee7da;
  --background: 40 10% 11%; --foreground: 42 37% 90%; --card: 40 10% 11%; --card-foreground: 42 37% 90%;
  --popover: 38 11% 15%; --popover-foreground: 42 37% 90%; --primary: 42 37% 90%; --primary-foreground: 40 10% 11%;
  --secondary: 38 11% 15%; --secondary-foreground: 42 37% 90%; --muted: 38 11% 15%; --muted-foreground: 38 18% 68%;
  --accent-foreground: 40 10% 11%; --border: 38 12% 26%; --input: 38 12% 26%; --ring: 12 58% 65%;
}
:is(.site-nav, .site-footer) {
  --font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;
  --font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-latin: "EB Garamond", Georgia, serif;
  --font-mono: "Space Mono", "PingFang SC", ui-monospace, Menlo, monospace;
  --bg-warm-white: var(--paper); --text-charcoal: var(--ink); --text-grey: var(--ink-2);
  --accent-teal: hsl(var(--accent)); --border-light: var(--line);
  --site-width: 1160px; --page-gutter: 36px; --header-height: 76px;
}
@media(max-width:640px) { :is(.site-nav, .site-footer) { --page-gutter: 22px; --header-height: 68px; } }
.site-nav,.site-nav.light { position: fixed; inset: 0 0 auto; height: var(--header-height); z-index: 100; background: var(--paper); border-bottom: 1px solid var(--line); color: var(--ink); font-family: var(--font-sans); }
.site-nav-inner { max-width: var(--site-width); height:100%; margin:auto; padding:0 var(--page-gutter); display:flex; align-items:center; gap:24px; }
.sn-brand { flex:none; text-decoration:none; line-height:1.5; }
.sn-brand-zh { display:block; font-family:var(--font-serif); font-size:20px; font-weight:650; letter-spacing:.035em; color:var(--ink); }
.sn-brand-en { display:block; font-family:var(--font-mono); font-size:8px; letter-spacing:.14em; color:var(--ink-2); }
.sn-links { display:flex; gap:23px; margin-left:auto; align-items:center; }
.sn-links a,.sn-panel a { font-size:14px; font-weight:500; text-decoration:none; color:var(--ink-2); padding:8px 0; border-bottom:1px solid transparent; white-space:nowrap; }
.sn-links a:hover,.sn-links a.cur,.sn-panel a.cur { color:hsl(var(--accent)); border-bottom-color:hsl(var(--accent)); }
.sn-theme,.sn-burger { width:36px; height:40px; padding:8px; background:none; border:0; cursor:pointer; color:var(--ink); flex-shrink:0; }
.sn-theme { font-size:19px; }
.sn-burger { display:none; }
.sn-burger span { display:block; height:1px; background:currentColor; margin:5px 0; }
.sn-panel { display:none; }
.sn-panel[hidden] { display:none; }
.site-footer,.site-footer.light { background:var(--footer-bg); color:var(--footer-ink); border-top:1px solid var(--line); text-align:left; margin-top:64px; }
.sf-inner { max-width:var(--site-width); margin:auto; padding:52px var(--page-gutter) 24px; }
.sf-top { display:flex; justify-content:space-between; gap:60px; }
.sf-brand { max-width:390px; }
.sf-latin { font:11px var(--font-mono); letter-spacing:.12em; color:var(--ink-2); margin:0 0 16px; }
.sf-quote { font-family:var(--font-serif); font-size:22px; font-weight:600; color:var(--ink); line-height:1.8; margin:0; }
.sf-tagline { color:var(--ink-2); font-size:14px; }
.sf-cols { display:flex; gap:48px; }
.sf-col { display:flex; flex-direction:column; font-family:var(--font-sans); }
.sf-col-t { font-size:11px; color:var(--ink-2); letter-spacing:.12em; margin-bottom:14px; }
.sf-col a,.sf-col .t { color:var(--ink-2); text-decoration:none; font-size:13px; line-height:2.7; overflow-wrap:anywhere; }
.sf-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:36px; border-top:1px solid var(--line); padding-top:20px; color:var(--ink-2); font:11px/1.8 var(--font-sans); }

body { padding-top:76px; }
.site-nav *, .site-footer * { box-sizing:border-box; }
.site-nav :focus-visible,.site-footer :focus-visible { outline:2px solid hsl(var(--accent)); outline-offset:4px; }
.site-footer { position:relative; z-index:1; }
@media(max-width:1000px) {
 .sn-links { display:none; } .sn-theme { margin-left:auto; } .sn-burger { display:block; }
 .sn-panel:not([hidden]) { display:grid; grid-template-columns:1fr 1fr; gap:8px 30px; padding:20px var(--page-gutter); background:var(--paper); border-bottom:1px solid var(--line); max-height:calc(100dvh - var(--header-height)); overflow-y:auto; }
 .sn-panel a { padding:12px 0; } .sf-top { flex-direction:column; gap:32px; }
}
@media(max-width:640px) {
 body { padding-top:68px; }
 .sn-brand-zh { font-size:18px; } .sn-brand-en { font-size:7px; } .site-nav-inner { gap:8px; }
 .sf-cols { flex-wrap:wrap; gap:28px; } .sf-bottom { flex-direction:column; gap:8px; } .sf-quote { font-size:20px; }
}
