:root{--bg:#fff;--fg:#383838;--fg-strong:#0c0707;--muted:#6d6d6d;--border:#ddd;--border-soft:#eee;--link:#7a00df;--link-hover:#54009e;--serif:"Benne", Georgia, "Times New Roman", "Songti SC", "SimSun", serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ok-bg:#f2f8f2;--ok-fg:#1e6b34;--warn-bg:#faf6ec;--warn-fg:#8a5a00;--miss-bg:#faf1f0;--miss-fg:#9c2b24;--pend-bg:#f4f5f7;--pend-fg:#5a6472}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--serif);background:var(--bg);color:var(--fg);font-variant-numeric:oldstyle-nums;margin:0;font-size:17px;line-height:1.75}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-underline-offset:3px;text-decoration:underline}.site-header{border-bottom:1px solid var(--border);background:var(--bg)}.header-inner{flex-wrap:wrap;align-items:baseline;gap:2rem;max-width:1100px;margin:0 auto;padding:1.1rem 1.5rem .9rem;display:flex}.brand{letter-spacing:.02em;color:var(--fg-strong);font-size:1.15rem;font-weight:400}.brand small{color:var(--muted);margin-left:.6rem;font-size:.78rem}.nav{flex-wrap:wrap;gap:1.4rem;display:flex}.nav a{color:var(--fg);font-size:.95rem}.nav a:hover{color:var(--link);text-decoration:none}.lang-btn{border:1px solid var(--border);background:var(--bg);font-family:var(--serif);cursor:pointer;color:var(--fg);border-radius:2px;margin-left:auto;padding:.15rem .65rem;font-size:.85rem}.lang-btn:hover{border-color:var(--link);color:var(--link)}main{max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem 4rem}footer{border-top:1px solid var(--border);max-width:1100px;color:var(--muted);margin:0 auto;padding:1.5rem 1.5rem 2.5rem;font-size:.85rem}.hero{border-bottom:1px solid var(--border-soft);margin-bottom:2rem;padding:1.5rem 0 .5rem}.hero h1{color:var(--fg-strong);letter-spacing:.01em;margin:0 0 .6rem;font-size:2.6rem;font-weight:400;line-height:1.15}.hero p{color:var(--muted);margin:.25rem 0;font-size:1.05rem}.hero .src{font-size:.85rem}.section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border-soft);margin:2.8rem 0 1.2rem;padding-bottom:.5rem;font-size:1.15rem;font-weight:400}.stats{background:var(--border-soft);border:1px solid var(--border-soft);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:1.2rem 0;display:grid}.stat{background:var(--bg);padding:1.1rem 1.2rem}.stat .n{color:var(--fg-strong);font-variant-numeric:oldstyle-nums;font-size:2rem;line-height:1.1}.stat .l{color:var(--muted);margin-top:.2rem;font-size:.82rem}.next-check{color:var(--muted);margin:1rem 0 0;font-size:.9rem;font-style:italic}.cards{background:var(--border-soft);border:1px solid var(--border-soft);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1px;display:grid}.card{background:var(--bg);color:var(--fg);padding:1.1rem 1.3rem;display:block}.card:hover{background:#faf8f4;text-decoration:none}.card h3{color:var(--fg-strong);margin:0 0 .2rem;font-size:1.05rem;font-weight:400}.card .zh{color:var(--muted);font-size:.88rem}.card .meta{color:var(--muted);font-size:.75rem;font-family:var(--mono);margin-top:.5rem}.reader-head{border-bottom:1px solid var(--border);margin-bottom:1.8rem;padding-bottom:1rem}.reader-head h1{color:var(--fg-strong);margin:0 0 .3rem;font-size:1.8rem;font-weight:400}.reader-head .zh-title{color:var(--muted);font-size:1rem}.reader-toolbar{flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:1.4rem;display:flex}.mode-group{border:1px solid var(--border);display:flex}.mode-group button{border:none;border-right:1px solid var(--border);background:var(--bg);font-family:var(--serif);cursor:pointer;color:var(--muted);padding:.3rem 1.1rem;font-size:.88rem}.mode-group button:last-child{border-right:none}.mode-group button.active{background:var(--fg-strong);color:#fff}.reader-nav{gap:.6rem;margin-left:auto;display:flex}.reader-nav a{border:1px solid var(--border);background:var(--bg);color:var(--fg);padding:.25rem .9rem;font-size:.85rem}.reader-nav a:hover{border-color:var(--link);color:var(--link);text-decoration:none}.figures{border-top:1px solid var(--border);margin:1.6rem 0 2.2rem;padding-top:1.2rem}.figures-label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.9rem;font-size:.72rem}.figures-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem;display:grid}.fig-item{margin:0}.fig-item img{border:1px solid var(--border-soft);background:#faf9f7;width:100%;display:block}.fig-item figcaption{color:var(--muted);margin-top:.45rem;font-size:.82rem;line-height:1.5}.panes{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.pane{border-top:3px solid var(--fg-strong);max-height:80vh;padding-top:1.1rem;font-size:.98rem;overflow-y:auto}.pane-label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.8rem;font-size:.72rem}.pane p{margin:.9rem 0}.pane p:first-of-type{margin-top:0}.pane pre,.pane code{font-family:var(--mono);font-size:.86em}.pane pre{border:1px solid var(--border-soft);white-space:pre-wrap;background:#f7f6f3;padding:.9rem;overflow-x:auto}.pane blockquote{border-left:3px solid var(--border);color:var(--muted);margin:.9rem 0;padding-left:1.2rem}.pane table{border-collapse:collapse;margin:.9rem 0;font-size:.86em}.pane th,.pane td{border:1px solid var(--border);padding:.35rem .65rem}.pane ul{padding-left:1.4rem}.pane li{margin:.3rem 0}.pane strong{color:var(--fg-strong)}@media (width<=860px){.panes{grid-template-columns:1fr}.pane{max-height:none}}.ledger-head{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1rem}.ledger-head h1{color:var(--fg-strong);margin:0 0 .3rem;font-size:1.8rem;font-weight:400}.ledger-head .sub{color:var(--muted);margin:.2rem 0;font-size:.95rem}.ledger-toolbar{flex-wrap:wrap;align-items:center;gap:.8rem;margin:1.2rem 0;display:flex}.ledger-toolbar input[type=search]{border:1px solid var(--border);min-width:200px;font-family:var(--serif);background:var(--bg);color:var(--fg);border-radius:2px;flex:1;padding:.4rem .8rem;font-size:.9rem}.status-group{flex-wrap:wrap;gap:.4rem;display:flex}.status-group button{border:1px solid var(--border);background:var(--bg);font-family:var(--serif);cursor:pointer;color:var(--muted);border-radius:2px;padding:.22rem .85rem;font-size:.85rem}.status-group button.active{border-color:var(--fg-strong);color:var(--fg-strong)}.group-select{border:1px solid var(--border);font-family:var(--serif);background:var(--bg);color:var(--fg);border-radius:2px;padding:.38rem .5rem;font-size:.85rem}.ledger-wrap{border-top:3px solid var(--fg-strong);overflow-x:auto}table.ledger{border-collapse:collapse;width:100%;min-width:900px;font-size:.9rem}table.ledger th{text-align:left;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.55rem .8rem;font-size:.75rem;font-weight:400}table.ledger td{border-bottom:1px solid var(--border-soft);vertical-align:top;padding:.55rem .8rem}table.ledger tbody tr:hover td{background:#faf8f4}.badge{letter-spacing:.02em;white-space:nowrap;border-radius:2px;padding:.08rem .5rem;font-size:.78rem;display:inline-block}.badge.ok{background:var(--ok-bg);color:var(--ok-fg)}.badge.warn{background:var(--warn-bg);color:var(--warn-fg)}.badge.miss{background:var(--miss-bg);color:var(--miss-fg)}.badge.pending{background:var(--pend-bg);color:var(--pend-fg)}.ledger-note{color:var(--muted);font-size:.85rem}.ledger-count{color:var(--muted);font-size:.9rem}.legend{color:var(--muted);font-size:.85rem;font-style:italic}.prose{max-width:780px}.prose h1{color:var(--fg-strong);font-size:1.8rem;font-weight:400}.prose h2{color:var(--fg-strong);border-bottom:1px solid var(--border-soft);margin-top:2.4rem;padding-bottom:.3rem;font-size:1.3rem;font-weight:400}.prose h3{color:var(--fg-strong);margin-top:1.8rem;font-size:1.1rem;font-weight:400}.prose table{border-collapse:collapse;margin:1.2rem 0;font-size:.88rem}.prose th,.prose td{border:1px solid var(--border);padding:.4rem .7rem}.prose th{color:var(--muted);background:#faf9f7;font-weight:400}.prose code{font-family:var(--mono);background:#f5f4f1;border-radius:2px;padding:.08rem .3rem;font-size:.85em}.prose pre{border:1px solid var(--border-soft);background:#f7f6f3;border-radius:2px;padding:1rem;overflow-x:auto}.prose blockquote{border-left:3px solid var(--border);color:var(--muted);margin:1.2rem 0;padding-left:1.2rem}.prose li{margin:.3rem 0}
