:root{--bg:#f4f2ec;--ink:#172d35;--muted:#52666b;--line:#cbd3cf;--panel:#fffefa;--accent:#176858;--gold:#ae6037;--warn:#8a5a00}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
main{max-width:1100px;margin:auto;padding:0 20px 60px}
a{color:var(--accent)}h1{font-size:clamp(28px,4vw,42px);line-height:1.2;margin:.2em 0 .3em;letter-spacing:-.02em}h2{font-size:24px;margin:2em 0 .5em}h3{font-size:18px;margin:.2em 0}
.eyebrow{margin:30px 0 0;font:700 12px/1.4 system-ui;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.lead{max-width:780px;color:var(--muted);font-size:18px}.muted{color:var(--muted)}
.langbar{display:flex;gap:8px;align-items:center;margin:14px 0;flex-wrap:wrap}.langbar span{font-size:13px;color:var(--muted)}
.langbar button,.chip-btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:3px;padding:4px 12px;font:inherit;font-size:14px;cursor:pointer}
.langbar button[aria-pressed=true],.chip-btn[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
body[data-lang=zh] .bi[lang=en],body[data-lang=en] .bi[lang=zh]{display:none}
body[data-lang=both] .bi[lang=en]{display:block;color:var(--muted);font-size:.93em}
.controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}
.controls input[type=search]{flex:1 1 260px;padding:9px 12px;border:1px solid var(--line);border-radius:3px;font:inherit;background:var(--panel)}
.legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:14px 0}.legend>div{background:var(--panel);border-left:3px solid var(--line);padding:8px 12px;font-size:14px}
.card{background:var(--panel);border-top:3px solid var(--accent);padding:20px 22px;margin:0 0 18px}
.card header{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;margin-bottom:6px}
.card .id{font:700 13px/1 ui-monospace,monospace;color:var(--gold)}.card .date{font-size:14px;color:var(--muted)}
.badge{display:inline-block;border:1px solid var(--line);border-radius:3px;padding:0 8px;font-size:12px;line-height:1.7}
.badge.primary-read{border-color:var(--accent);color:var(--accent)}.badge.primary-located{border-color:#5d8f84;color:#3d6f64}
.badge.secondary,.badge.secondary-authoritative{border-color:var(--warn);color:var(--warn)}
.caveat{font-size:14px;color:var(--warn);border-left:3px solid var(--warn);padding:2px 10px;margin:10px 0}
.srcs,.rel{font-size:14px;margin:8px 0;padding-left:20px}.rel{list-style:none;padding:0}.rel li{margin:3px 0}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tag{font-size:12px;background:#e8efec;border-radius:3px;padding:1px 8px}
.year{margin:28px 0 8px;font:700 22px/1 system-ui;color:var(--gold)}
table{border-collapse:collapse;width:100%;background:var(--panel);font-size:14px}th,td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}th{background:#e8efec}
.table-wrap{overflow:auto}
dl.terms dt{font-weight:700;margin-top:18px;font-size:17px}dl.terms dd{margin:2px 0 0}
.empty{padding:20px;color:var(--muted)}
.hit mark{background:#ffe7a8}
.sectag{display:inline-block;font-size:12px;border:1px solid var(--line);border-radius:3px;padding:0 6px;margin-right:6px;color:var(--muted)}
@media(max-width:700px){main{padding:0 14px 50px}}

.badge .bi[lang=en]{display:inline!important;font-size:inherit;color:inherit}body[data-lang=both] .badge .bi[lang=en]::before{content:' · '}
.chip-btn .bi[lang=en]{display:inline!important;font-size:12px}body[data-lang=both] .chip-btn .bi[lang=en]::before{content:' / '}
body[data-lang=zh] .badge .bi[lang=en],body[data-lang=zh] .chip-btn .bi[lang=en]{display:none!important}body[data-lang=en] .badge .bi[lang=zh],body[data-lang=en] .chip-btn .bi[lang=zh]{display:none!important}
.tag .bi[lang=en]{display:inline!important}body[data-lang=both] .tag .bi[lang=en]::before{content:' / '}body[data-lang=zh] .tag .bi[lang=en]{display:none!important}body[data-lang=en] .tag .bi[lang=zh]{display:none!important}
