:root{--paper:#f7f5ef;--card:#fffdf8;--ink:#23221d;--ink-2:#6b675c;--hair:#dcd6c7;--hair-2:#eae5d8;--red:#b03a2e;--red-bg:#fbedeb;--green:#2f6b4f;--green-bg:#eaf2ed;--amber:#8a6d1f;--amber-bg:#faf3df;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:15px/1.85 var(--sans);margin:0}a{color:var(--ink);text-decoration-color:var(--red);text-underline-offset:3px}.wrap{max-width:960px;margin:0 auto;padding:0 20px}.top{background:var(--card);border-bottom:2px solid var(--ink)}.top .wrap{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 18px;padding:14px 20px;display:flex}.brand{letter-spacing:.02em;white-space:nowrap;font-weight:700;text-decoration:none}.brand i{border:1.5px solid var(--red);color:var(--red);vertical-align:2px;font-size:11px;font-style:normal;font-family:var(--mono);border-radius:3px;margin-right:8px;padding:1px 5px;display:inline-block}.top nav{gap:16px;font-size:14px;display:flex}.top nav a{color:var(--ink-2);text-decoration:none}.top nav a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red)}.hero{padding:34px 0 8px}.kicker{font:12px/1 var(--mono);letter-spacing:.16em;color:var(--red);margin:0 0 12px}h1{letter-spacing:-.01em;margin:0 0 12px;font-size:30px;line-height:1.35}.lede{color:var(--ink-2);max-width:64ch;margin:0;font-size:16px}.card{background:var(--card);border:1px solid var(--hair);border-radius:4px;margin:16px 0;padding:18px 20px}.card h2{margin:0 0 4px;font-size:17px}.card .sub{color:var(--ink-2);margin:0 0 14px;font-size:13.5px}label{display:block}.q{color:var(--ink-2);margin-bottom:5px;font-size:13px;display:block}input[type=date],input[type=number],select{width:100%;font:14px/1.4 var(--mono);border:1px solid var(--hair);color:var(--ink);background:#fff;border-radius:3px;padding:8px 10px}input:focus,select:focus{outline:2px solid var(--red);outline-offset:-1px}.g2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}@media (width<=640px){.g2{grid-template-columns:1fr}}.yrs{border-top:1px solid var(--hair-2);flex-direction:column;gap:0;margin-top:6px;display:flex}.yr{border-bottom:1px solid var(--hair-2);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 2px;display:flex}.yr .y{font:600 15px/1 var(--mono);min-width:5.5em}.yr .c{color:var(--ink-2);flex:1;min-width:11em;font-size:13px}.yr label{cursor:pointer;align-items:center;gap:7px;font-size:13.5px;display:flex}.yr input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);flex:none}.tag{font:11.5px/1 var(--mono);white-space:nowrap;border-radius:3px;padding:4px 7px}.tag.ok{background:var(--green-bg);color:var(--green)}.tag.open{background:var(--amber-bg);color:var(--amber)}.tag.over{background:var(--red-bg);color:var(--red)}.tag.soon{color:var(--ink-2);background:#efede4}.res{margin:22px 0}.res h3{border-bottom:1px solid var(--hair);margin:22px 0 8px;padding-bottom:6px;font-size:16px}.big{background:var(--card);border:1px solid var(--hair);border-left:4px solid var(--red);border-radius:4px;padding:16px 18px}.big.calm{border-left-color:var(--green)}.big .h{margin:0 0 6px;font-size:19px;font-weight:700}.big p{color:var(--ink-2);margin:6px 0 0;font-size:14.5px}.dates{margin:10px 0 0;padding:0;list-style:none}.dates li{border-bottom:1px dashed var(--hair-2);align-items:baseline;gap:12px;padding:7px 0;font-size:14px;display:flex}.dates .d{font:600 13.5px/1.6 var(--mono);white-space:nowrap}.dates .risk .d{color:var(--red)}.dates .open .d{color:var(--green)}.chain{margin:10px 0 0;padding:0;list-style:none}.chain li{border:1px solid var(--hair);background:var(--card);border-radius:4px;margin-bottom:10px;padding:14px 16px 14px 46px;position:relative}.chain li:before{content:attr(data-n);width:20px;height:20px;color:var(--ink-2);font:600 11px/20px var(--mono);text-align:center;background:#efede4;border-radius:50%;position:absolute;top:15px;left:14px}.chain li.on{border-color:var(--red);background:var(--red-bg)}.chain li.on:before{background:var(--red);color:#fff}.chain li.done{border-color:var(--green);background:var(--green-bg)}.chain li.done:before{background:var(--green);color:#fff;content:"✓"}.chain .lb{font-size:15px;font-weight:700}.chain .on-mark{font:11.5px/1 var(--mono);color:var(--red);border:1px solid var(--red);white-space:nowrap;border-radius:3px;margin-left:8px;padding:3px 6px}.chain .bd{color:var(--ink-2);margin:7px 0 0;font-size:13.5px}.chain .dt{margin:8px 0 0;font-size:14px}.chain cite{font-style:normal;font:12px/1.6 var(--mono);color:var(--ink-2);margin-top:8px;display:block}.guard{color:var(--ink-2);background:var(--card);border:1px dashed var(--hair);border-radius:4px;margin:22px 0 34px;padding:14px 16px;font-size:13.5px}.src{font-size:13.5px}.src li{margin-bottom:12px}.stamp{border:2px solid var(--red);color:var(--red);font:12px/1.5 var(--mono);border-radius:4px;padding:4px 9px;display:inline-block;transform:rotate(-1.5deg)}.prose{max-width:74ch;padding-bottom:36px}.prose h2{margin:30px 0 8px;font-size:19px}.prose h3{margin:20px 0 4px;font-size:15.5px}.prose p,.prose li{font-size:14.5px}.prose code{font:13px var(--mono);background:#efede4;border-radius:3px;padding:1px 5px}.prose table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13.5px}.prose th,.prose td{border:1px solid var(--hair);text-align:left;vertical-align:top;padding:8px 10px}.prose th{background:#efede4;font-weight:600}footer{border-top:1px solid var(--hair);background:var(--card)}footer .wrap{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:16px 20px;font-size:12.5px;display:flex}.src a{word-break:break-all}@media (width<=640px){.prose table,.prose tbody,.prose tr,.prose td{width:100%;display:block}.prose thead{position:absolute;left:-9999px}.prose tr{border:1px solid var(--hair);background:var(--card);border-radius:4px;margin-bottom:12px}.prose td{border:0;border-bottom:1px solid var(--hair-2);padding:9px 12px}.prose td:last-child{border-bottom:0}.prose td:before{content:attr(data-l);font:11.5px/1.6 var(--mono);color:var(--ink-2);margin-bottom:2px;display:block}}
