:root{--paper:#f5f3ec;--ink:#1e332c;--muted:#56665a;--line:#d7dbce;--accent:#a43e21}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Songti SC","Noto Serif CJK SC",serif;background-image:radial-gradient(#1e332c08 1px,transparent 1px);background-size:7px 7px}
.site-header{display:flex;justify-content:space-between;align-items:center;padding:12px 3vw;border-bottom:1px solid var(--line)}
.brand{font-size:18px;font-weight:bold;color:inherit;text-decoration:none}.brand span{display:block;font:9px monospace;letter-spacing:1.6px;margin-top:3px}.edition{font-size:12px;color:var(--muted)}
main{max-width:1680px;margin:auto;padding:22px 3vw 28px}.intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:2px;margin:0 0 6px}h1{font-size:clamp(26px,2.7vw,36px);line-height:1.2;letter-spacing:-1px;margin:0}.intro>p{font-size:14px;line-height:1.6;color:var(--muted);margin:0;max-width:370px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--ink);padding-top:10px}.toolbar label{font-size:12px;display:flex;align-items:center;gap:14px;flex:1;min-width:0}input{font:inherit;font-size:16px;padding:8px 0;border:0;border-bottom:1px solid var(--line);background:transparent;width:min(100%,420px);outline-offset:3px;min-width:0}#count{font-size:12px;color:var(--muted);white-space:nowrap}.date-note{font-size:11px;line-height:1.5;color:var(--muted);margin:7px 0 0}
#filters{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}button{font:inherit;cursor:pointer}#filters button{border:1px solid var(--line);padding:7px 11px;min-height:36px;background:transparent;color:var(--ink);font-size:12px}#filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line)}.card{text-align:left;position:relative;padding:14px 16px;background:#faf9f380;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);display:flex;flex-direction:column;min-width:0;transition:background .2s}.card:hover,.card:focus-visible{background:#fffdf6}.card:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.number{font:20px Georgia,serif;color:#667a68}.topic{position:absolute;right:16px;top:17px;font-size:11px;color:var(--muted)}.card h2{font-size:18px;line-height:1.4;margin:10px 0 6px;overflow-wrap:anywhere}.card p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 10px}.version-date{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:11px;line-height:1.5;color:var(--muted);margin:auto 0 7px;font-variant-numeric:tabular-nums}.version-date span{display:block}.go{font-size:12px;color:var(--accent)}#status{font-size:14px;color:var(--muted)}#status:empty{display:none}.note{font-size:11px;line-height:1.6;color:var(--muted);border-left:2px solid var(--accent);padding-left:10px;margin:18px 0 0}footer{border-top:1px solid var(--line);padding:14px 3vw;color:var(--muted);font-size:11px}
dialog{padding:0;border:1px solid var(--line);width:98vw;height:97dvh;max-width:none;max-height:none;background:var(--paper);overflow:hidden}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#132c25bf}.viewer-bar{display:flex;align-items:center;gap:12px;min-height:48px;padding:5px 14px;border-bottom:1px solid var(--line);flex:none}.viewer-bar h2{font-size:15px;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-bar a,.viewer-bar button{font-size:12px;color:var(--ink);white-space:nowrap}.viewer-bar button{padding:8px 12px;min-height:36px;background:none;border:1px solid var(--line)}.date-bar{flex:none;padding:4px 14px;border-bottom:1px solid var(--line);font-size:11px;line-height:1.5;color:var(--muted)}.work-dates{display:inline;margin:0;font-variant-numeric:tabular-nums}.date-bar details{display:inline;margin-left:12px}.date-bar summary{display:inline;cursor:pointer;color:var(--accent)}.date-bar details[open]{display:block;margin:4px 0 0}.date-bar details p{margin:3px 0}
#parts{display:flex;gap:6px;overflow-x:auto;padding:5px 14px;border-bottom:1px solid var(--line);background:var(--paper);flex:none}#parts[hidden]{display:none}#parts button{flex:none;border:1px solid var(--line);background:transparent;color:var(--ink);padding:7px 12px;min-height:36px;font-size:12px}#parts button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}iframe{display:block;width:100%;flex:1;min-height:0;border:0;background:white}
@media(min-width:1250px){#grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){#grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro>p{max-width:300px}}
@media(max-width:600px){.site-header{padding:10px 4vw}.edition{display:none}main{padding:16px 4vw 24px}.intro{display:block;margin-bottom:12px}.intro>p{margin-top:7px;font-size:12px}.toolbar{gap:8px;align-items:end}.toolbar label{display:block}.toolbar label span{display:block;font-size:11px}input{display:block;width:100%;margin-top:2px}#count{font-size:11px;white-space:normal;max-width:94px;line-height:1.5}#filters{gap:5px;margin:10px 0}#filters button{padding:7px 9px}.card{padding:12px}.card h2{font-size:16px;margin-top:9px}.topic{right:12px;top:15px;font-size:10px}.number{font-size:18px}.version-date{gap:2px;font-size:10px;flex-direction:column}dialog{width:100vw;height:100dvh;border:0}.viewer-bar{gap:8px;padding:5px 8px}.viewer-bar h2{font-size:13px}.viewer-bar button{padding:8px}.date-bar{padding:4px 8px}#parts{padding:5px 8px}footer{padding:12px 4vw}}
@media(max-width:430px){#grid{grid-template-columns:1fr}.card h2{font-size:17px}.version-date{flex-direction:row;gap:2px 12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
