:root{--paper:#fff;--ink:#202020;--ink-2:#5e5e5e;--hair:#e3e1de;--rule:#202020;--margin:#7b4b94;--err:#a32020;--warn:#8a6100;--serif:"Songti SC","Source Han Serif SC","Noto Serif CJK SC",Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB",sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:16.5px/1.78 var(--serif);margin:0}a{color:var(--margin);text-underline-offset:3px}.wrap{max-width:940px;margin:0 auto;padding:0 22px}.top{border-bottom:1px solid var(--hair)}.top .wrap{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 18px;padding:16px 22px;display:flex}.brand{color:var(--ink);letter-spacing:.01em;white-space:nowrap;font-weight:600;text-decoration:none}.brand em{color:var(--margin);margin-right:7px;font-family:Georgia,serif;font-style:italic}.top nav{font:14px/1 var(--sans);gap:18px;display:flex}.top nav a{color:var(--ink-2);text-decoration:none}.top nav a:hover{color:var(--margin)}.hero{border-bottom:1px solid var(--hair);padding:52px 0 26px}.kicker{font:12px/1 var(--sans);letter-spacing:.17em;color:var(--margin);text-transform:uppercase;margin:0 0 14px}.hero h1{letter-spacing:-.005em;margin:0 0 14px;font-size:clamp(28px,4.5vw,42px);font-weight:600;line-height:1.22}.hero p{max-width:58ch;color:var(--ink-2);margin:0;font-size:16.5px}.panes{grid-template-columns:1fr 1fr;gap:26px;padding:28px 0 6px;display:grid}@media (width<=820px){.panes{grid-template-columns:1fr;gap:20px}}.pane h2{margin:0 0 4px;font-size:17px;font-weight:600}.pane p.sub{font:13.5px/1.6 var(--sans);color:var(--ink-2);margin:0 0 10px}textarea{resize:vertical;border:1px solid var(--hair);width:100%;min-height:230px;color:var(--ink);font:14px/1.75 var(--mono);background:#fff;border-radius:0;padding:13px 14px}textarea:focus{outline:2px solid var(--margin);outline-offset:0;border-color:var(--margin)}.pane.refs textarea{font-family:var(--serif);font-size:15px}.actions{font:14px/1 var(--sans);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:16px 0 4px;display:flex}button{border:1px solid var(--ink);color:var(--ink);font:600 14px/1 var(--sans);cursor:pointer;background:#fff;border-radius:0;padding:10px 17px}button:hover{background:var(--ink);color:#fff}button:focus-visible{outline:2px solid var(--margin);outline-offset:2px}button.ghost{border-color:var(--hair);color:var(--ink-2)}.tally{color:var(--ink-2)}.tally b{color:var(--ink);font-family:var(--mono)}.tally .e{color:var(--err)}.tally .w{color:var(--warn)}.tally .a{color:var(--margin)}.list{border-top:2px solid var(--rule);margin:22px 0 0}.item{border-bottom:1px solid var(--hair);grid-template-columns:104px 1fr;gap:18px;padding:16px 0;display:grid}@media (width<=620px){.item{grid-template-columns:1fr;gap:5px}}.item .tagcol{font:12px/1.5 var(--sans);letter-spacing:.06em;padding-top:3px}.item .tagcol span{border:1px solid;padding:2px 8px;display:inline-block}.item[data-l=error] .tagcol{color:var(--err)}.item[data-l=warn] .tagcol{color:var(--warn)}.item[data-l=ask] .tagcol{color:var(--margin)}.item h3{margin:0 0 5px;font-size:16.5px;font-weight:600;line-height:1.45}.item .detail{color:var(--ink-2);word-break:break-word;margin:0 0 5px;font-size:14.5px}.item .hint{font:13.5px/1.7 var(--sans);color:var(--ink-2);margin:0}.clean{border-bottom:1px solid var(--hair);color:var(--ink-2);padding:26px 0}.note{border-left:2px solid var(--margin);color:var(--ink-2);font:14px/1.75 var(--sans);margin:26px 0 0;padding:4px 0 4px 15px}.prose{max-width:66ch;padding:10px 0 60px}.prose h2{margin:30px 0 9px;font-size:20px;font-weight:600}.prose h3{color:var(--margin);margin:22px 0 6px;font-size:16px;font-weight:600}.prose li{margin:6px 0}.prose code{font:14px var(--mono);background:#f4f2f6;padding:1px 5px}.prose .hang{text-indent:-2em;color:var(--ink-2);margin:9px 0;padding-left:2em;font-size:15px}.prose blockquote{border-left:2px solid var(--hair);color:var(--ink-2);margin:14px 0;padding:8px 0 8px 16px;font-size:15px}footer{border-top:1px solid var(--hair);font:13.5px/1.7 var(--sans);color:var(--ink-2);margin-top:30px;padding:22px 0 46px}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:10px 24px;display:flex}.big404{color:var(--hair);margin:22px 0 0;font:italic 600 clamp(64px,15vw,140px)/1 Georgia,serif}
