:root{--bg: #ffffff;--bg-soft: #f6f6f4;--bg-sunk: #efeeea;--text: #1a1a19;--text-dim: #6b6b66;--text-faint: #9a9a94;--line: rgba(0, 0, 0, .1);--line-strong: rgba(0, 0, 0, .18);--ok-bg: #e4f3ec;--ok-fg: #0d6045;--warn-bg: #fbf0d9;--warn-fg: #7a4a09;--bad-bg: #fbe9e9;--bad-fg: #96292a;--radius: 10px;--wrap: 720px}@media(prefers-color-scheme:dark){:root{--bg: #17171a;--bg-soft: #1f1f23;--bg-sunk: #131315;--text: #ececea;--text-dim: #a2a29c;--text-faint: #71716c;--line: rgba(255, 255, 255, .12);--line-strong: rgba(255, 255, 255, .22);--ok-bg: #143a2e;--ok-fg: #7fd8b4;--warn-bg: #3a2e12;--warn-fg: #e8bd6b;--bad-bg: #3b1e1e;--bad-fg: #f0a3a3}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg-sunk);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Source Han Sans SC,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}a.link{color:#2f6fb5;text-decoration:underline;text-underline-offset:2px}@media(prefers-color-scheme:dark){a.link{color:#7db4ee}}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}.top{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}.top-in{max-width:var(--wrap);margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:baseline;gap:7px}.brand b{font-size:18px;font-weight:600;letter-spacing:-.01em}.brand span{font-size:11px;color:var(--text-faint);letter-spacing:.08em}.nav{display:flex;gap:16px;font-size:14px;color:var(--text-dim)}.nav a.on{color:var(--text);font-weight:500}main{padding:20px 0 64px}.hero{padding:8px 0 20px}.hero h1{font-size:24px;line-height:1.35;margin:0 0 6px;font-weight:600;letter-spacing:-.01em}.hero p{margin:0;color:var(--text-dim);font-size:14px}.search{position:relative;margin-bottom:12px}.search input{width:100%;padding:11px 14px;font-size:15px;font-family:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);outline:none}.search input:focus{border-color:var(--text-dim)}.search input::placeholder{color:var(--text-faint)}.chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;padding:6px 13px;font-size:13px;font-family:inherit;color:var(--text-dim);background:var(--bg);border:1px solid var(--line);border-radius:999px;cursor:pointer}.chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.count{font-size:13px;color:var(--text-dim);margin-bottom:10px}.card{display:block;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:9px}.card:hover{border-color:var(--line-strong)}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-title{font-size:16px;font-weight:500;line-height:1.4}.card-sub{font-size:12.5px;color:var(--text-faint);margin-top:3px}.card-fp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11.5px;color:var(--text-dim);margin-top:9px;word-break:break-word}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.tag{font-size:11.5px;padding:2px 9px;border-radius:6px;background:var(--bg-soft);color:var(--text-dim)}.badge{font-size:11.5px;font-weight:500;padding:3px 10px;border-radius:6px;white-space:nowrap}.badge.ok{background:var(--ok-bg);color:var(--ok-fg)}.badge.warn{background:var(--warn-bg);color:var(--warn-fg)}.badge.bad{background:var(--bad-bg);color:var(--bad-fg)}.badge.neutral{background:var(--bg-soft);color:var(--text-dim)}.empty{text-align:center;padding:40px 0;color:var(--text-faint);font-size:14px}.detail{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px}.detail h1{font-size:22px;margin:0 0 4px;font-weight:600;line-height:1.35}.detail .sub{color:var(--text-faint);font-size:13px;margin-bottom:16px}.spec{width:100%;border-collapse:collapse;margin:16px 0;font-size:13.5px}.spec td{padding:8px 0;border-bottom:1px solid var(--line);vertical-align:top}.spec td:first-child{color:var(--text-dim);width:40%}.spec tr:last-child td{border-bottom:0}.rpt{border:1px solid var(--line);border-radius:8px;padding:11px 13px;margin-bottom:8px;background:var(--bg-soft)}.rpt-h{display:flex;justify-content:space-between;align-items:center;gap:10px}.rpt-d{font-size:14px;font-weight:500}.rpt-m{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:var(--text-dim);margin-top:5px;word-break:break-word}.rpt-n{font-size:13px;color:var(--text-dim);margin-top:5px}.sol{border:1px solid var(--line);border-radius:8px;padding:11px 13px;margin-bottom:8px}.sol-t{font-size:14.5px;font-weight:500}.sol-s{font-size:13px;color:var(--text-dim);margin-top:3px}.note{border-left:3px solid var(--line-strong);padding:10px 0 10px 14px;margin:20px 0;color:var(--text-dim);font-size:13.5px}h2{font-size:17px;margin:26px 0 10px;font-weight:600}h3{font-size:15px;margin:20px 0 8px;font-weight:600}.prose{font-size:15.5px}.prose p{margin:0 0 14px}.prose ul,.prose ol{padding-left:22px;margin:0 0 14px}.prose li{margin-bottom:5px}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.87em;background:var(--bg-soft);padding:2px 5px;border-radius:4px}.prose pre{background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:12px 14px;overflow-x:auto;font-size:12.5px;line-height:1.6}.prose pre code{background:none;padding:0;font-size:inherit}.prose table{width:100%;border-collapse:collapse;font-size:13.5px;margin:0 0 16px;display:block;overflow-x:auto}.prose th,.prose td{padding:8px 10px;border:1px solid var(--line);text-align:left}.prose th{background:var(--bg-soft);font-weight:500}.prose blockquote{margin:16px 0;padding:10px 0 10px 14px;border-left:3px solid var(--line-strong);color:var(--text-dim);font-size:14px}.prose h2{scroll-margin-top:70px}.back{display:inline-block;font-size:13.5px;color:var(--text-dim);margin-bottom:14px}footer{border-top:1px solid var(--line);padding:20px 0 40px;font-size:12.5px;color:var(--text-faint);line-height:1.8}@media(min-width:640px){.hero h1{font-size:28px}.detail{padding:26px 28px}}
