@charset "UTF-8";
@font-face { font-family:"JetBrainsMono Nerd Font Mono";src:url("../fonts/JetBrainsMonoNerdFontMono-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap; }
@font-face { font-family:"Noto Sans Mono CJK SC";src:url("../fonts/NotoSansMonoCJKsc-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap; }
:root { --ink:#333; --muted:#666; --line:#ddd; --paper:#fff; --soft:#f6f7f7; --blue:#87ceeb; --blue-dark:#347f9e; --shell:min(1080px,calc(100% - 40px)); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:76px; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.7 "JetBrainsMono Nerd Font Mono","Noto Sans Mono CJK SC",monospace; }
a { color:#286d89; text-decoration:underline; text-underline-offset:3px; }
a:hover { color:#17465a; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #287e9f; outline-offset:3px; }
.shell { width:var(--shell); margin:0 auto; }
.sr-only { position:absolute; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:absolute; z-index:50; top:-60px;left:12px;padding:8px 12px;background:white; }
.skip-link:focus { top:8px; }
.site-header { position:sticky;top:0;z-index:20;background:rgba(20,20,20,.96);color:white; }
.header-inner { min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px; }
.brand { color:white;text-decoration:none;line-height:1.2; }
.brand strong,.brand small { display:block; }
.brand strong { font-size:16px;font-weight:600; }
.brand small { margin-top:3px;color:#ccc;font:11px/1.2 monospace; }
.site-nav { display:flex;align-items:center;gap:22px;font-size:14px; }
.site-nav a { display:inline-flex;align-items:center;min-height:44px;color:#f4f4f4;text-decoration:none; }
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current="page"] { color:var(--blue); }
.site-nav .nav-join { padding:0 12px;border:1px solid #aaa; }
.menu-toggle { display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid #888;background:transparent;color:white; }
.menu-icon { display:grid;gap:5px;width:21px; }.menu-icon i { height:2px;background:currentColor; }
.hero { min-height:300px;padding:56px 0 50px;background:#222 url("../images/bg.png") center 48%/cover no-repeat;color:white;position:relative; }
.hero::before { content:"";position:absolute;inset:0;background:rgba(0,0,0,.55); }
.hero-grid { position:relative;max-width:850px;text-align:center; }
.hero .eyebrow { margin:0 0 8px;color:#d5eefa;font-size:14px; }
.hero h1 { margin:0 0 14px;font-size:36px;line-height:1.3;font-weight:600; }
.hero-lead { max-width:740px;margin:0 auto;color:#f1f1f1;font-size:16px;line-height:1.8; }
.section { padding:40px 0; }
.section-muted { background:var(--soft); }
.content-narrow { max-width:850px; }
.content-narrow h2 { margin:0 0 10px;font-size:26px;line-height:1.4;font-weight:500; }
.content-narrow h2:not(:first-child) { margin-top:30px; }
.content-narrow p { margin:0 0 14px; }
.section-intro,.small-note { color:var(--muted);font-size:14px; }
.leaders { margin:18px 0 14px;border-top:1px solid var(--line); }
.leaders div { display:grid;grid-template-columns:180px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--line); }
.leaders dt { font-weight:600; }.leaders dd { margin:0;color:var(--muted); }
.link-list { margin:14px 0 0;padding-left:22px; }
.link-list li { padding:0; }
.link-list li > a { display:inline-flex;align-items:center;min-height:44px; }
.link-list .small-note { display:inline; }
.site-footer { padding:22px 0;background:#222;color:#eee;font-size:13px; }
.footer-inner { display:flex;justify-content:space-between;gap:16px; }.site-footer a { color:#eee; }.footer-inner span { color:#bbb; }
/* Archive page */
.page-heading { padding:38px 0 25px; }.page-heading h1 { margin:0 0 8px;font-size:32px;font-weight:500; }.page-heading p { margin:0;color:var(--muted); }
.archive-section { padding:26px 0 38px;border-top:1px solid var(--line); }.archive-section h2 { margin:0 0 15px;font-size:23px;font-weight:500; }
.archive-note { color:var(--muted);font-size:14px; }
.archive-year { border-bottom:1px solid var(--line); }.archive-year > summary { min-height:44px;padding:9px 0;line-height:26px;cursor:pointer;font-weight:600; }.archive-year .archive-list { margin:0 0 0 20px;border-top:1px solid var(--line); }
.archive-list { margin:0;border-top:1px solid var(--line); }.archive-person { border-bottom:1px solid var(--line);padding:12px 0; }
.archive-person summary { display:list-item;min-height:44px;padding:9px 0;line-height:26px;cursor:pointer;font-weight:600;overflow-wrap:anywhere; }
.archive-person summary span { margin-left:10px;color:var(--muted);font-size:14px;font-weight:400; }
.archive-info { padding:7px 0 2px 20px;color:var(--muted);font-size:14px; }.archive-info p { margin:3px 0; }.archive-info a { display:inline-block;margin-top:4px; }
.archive-info p { overflow-wrap:anywhere; }
.member-entry-heading { margin:0;padding:9px 0;line-height:26px;font-weight:600; }
.small-note { font-size:13px; }
@media(max-width:900px) {
 :root { --shell:calc(100% - 30px); }
 .header-inner { min-height:60px;flex-wrap:wrap; }.menu-toggle { display:none;width:44px;height:44px;flex:none; }
 .site-nav { display:flex;flex-wrap:wrap;gap:0 18px;padding:0 0 8px; }
 .site-nav a { min-height:44px; }
 body.nav-ready .menu-toggle { display:flex; }
 body.nav-ready .site-nav { position:absolute;top:60px;left:0;right:0;display:grid;gap:0;padding:6px 15px 12px;background:#181818;max-height:calc(100vh - 60px);overflow-y:auto; }
 body.nav-ready .site-nav[hidden] { display:none; }
 body.nav-ready .site-nav a { min-height:46px;border-bottom:1px solid #444; }
 body.nav-ready .site-nav .nav-join { justify-content:center;margin-top:8px; }
 .hero { min-height:0;padding:48px 0 42px; }.hero h1 { font-size:29px; }.hero-lead { font-size:15px; }
 .section { padding:32px 0; }.content-narrow h2 { font-size:23px; }.leaders div { grid-template-columns:130px 1fr; }
 .footer-inner { flex-direction:column;gap:3px; }
}
@media(max-width:350px) { :root { --shell:calc(100% - 24px); }.leaders div { grid-template-columns:1fr;gap:0;padding:8px 0; } }
@media(max-width:500px) { .archive-person summary span { margin-left:0; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; } }
