:root{--bg:#fff;--fg:#1f2328;--mut:#6b7280;--bd:#e5e7eb;--side:#f7f8fa;--ac:#2563eb;--mk:#fde68a;--cur:#fb923c;--warn:#fee2e2;--warnfg:#991b1b;--up:#fef3c7;--upfg:#92400e;--ref:#eff6ff}
@media(prefers-color-scheme:dark){:root{--bg:#16181c;--fg:#e5e7eb;--mut:#9ca3af;--bd:#2d3139;--side:#1b1e23;--ac:#60a5fa;--mk:#854d0e;--cur:#c2410c;--warn:#450a0a;--warnfg:#fecaca;--up:#451a03;--upfg:#fde68a;--ref:#172554}}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--fg);font:15px/1.8 -apple-system,"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;display:flex;flex-direction:column}
a{color:var(--ac);text-decoration:none}a:hover{text-decoration:underline}
button,select,input{font:inherit;color:inherit}
button{background:none;border:1px solid var(--bd);border-radius:6px;padding:2px 10px;cursor:pointer}
button:hover{background:var(--side)}
input[type=search],select{background:var(--bg);border:1px solid var(--bd);border-radius:6px;padding:4px 8px;min-width:0}
#top{display:flex;gap:10px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--bd);background:var(--bg);flex:none}
.brand{font-weight:700;color:var(--fg);white-space:nowrap}
#menuBtn{display:none}
.jumpwrap{position:relative;flex:1;max-width:520px}
#jump{width:100%}
#sug{position:absolute;z-index:20;top:100%;left:0;right:0;margin:2px 0 0;padding:4px 0;list-style:none;background:var(--bg);border:1px solid var(--bd);border-radius:8px;box-shadow:0 6px 20px #0003;max-height:50vh;overflow:auto}
#sug li{padding:4px 12px;cursor:pointer}#sug li.on,#sug li:hover{background:var(--side)}
#bmCount:not(:empty)::before{content:" "}
#app{flex:1;display:flex;min-height:0}
#side{width:300px;flex:none;border-right:1px solid var(--bd);background:var(--side);display:flex;flex-direction:column;min-height:0}
.tabs{display:flex;gap:6px;padding:8px}.tabs button.on,.cats button.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.pane{overflow:auto;padding:0 8px 16px;flex:1;min-height:0}
.cats{display:flex;gap:6px;margin-bottom:8px}#filter{width:100%;margin-bottom:8px}
details>summary{cursor:pointer;font-weight:600;padding:4px 0;color:var(--mut)}
.law{display:block;padding:2px 8px;border-radius:6px;color:var(--fg);font-size:14px;line-height:1.5;padding-top:4px;padding-bottom:4px}
.law.on{background:var(--ac);color:#fff}.law:hover{text-decoration:none;background:var(--bd)}.law.on:hover{background:var(--ac)}
.badge{font-size:11px;margin-left:4px;padding:0 4px;border-radius:4px;background:var(--up);color:var(--upfg)}.badge.w{background:var(--warn);color:var(--warnfg)}
.outline{margin:2px 0 6px 8px;padding-left:8px;border-left:2px solid var(--bd);font-size:13px;line-height:1.5}
.outline a{display:block;color:var(--mut);padding:1px 0}.outline a:hover{color:var(--ac)}
#main{flex:1;overflow:auto;position:relative;scroll-behavior:auto}
#bar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 20px;background:var(--bg);border-bottom:1px solid var(--bd)}
#q{flex:1;min-width:160px}#cnt{color:var(--mut);min-width:56px;font-variant-numeric:tabular-nums}.only{color:var(--mut);font-size:13px;white-space:nowrap}
#doc{max-width:860px;margin:0 auto;padding:16px 20px 40px}
h1{font-size:22px;margin:8px 0}.meta{color:var(--mut);font-size:13px;margin-bottom:8px}
.banner{padding:8px 12px;border-radius:8px;margin:8px 0;font-size:14px}.banner.w{background:var(--warn);color:var(--warnfg)}.banner.u{background:var(--up);color:var(--upfg)}
details.info{color:var(--mut);font-size:13px;margin:6px 0 14px}
#doc h3{margin:22px 0 6px;font-size:17px}#doc h3.l1{font-size:16px;margin-left:8px;color:var(--mut)}#doc h3.l2{font-size:15px;margin-left:16px;color:var(--mut)}
article{position:relative;padding:6px 64px 6px 10px;border-radius:8px;border-left:3px solid transparent}
article p{margin:2px 0;text-align:justify}
article:hover{background:var(--side)}
article.ref{background:var(--ref);border-left-color:var(--ac)}
article.jumped{outline:2px solid var(--ac)}
.num{font-weight:700}
.acts{position:absolute;right:6px;top:4px;display:flex;gap:2px;opacity:0}
article:hover .acts,.card:hover .acts,.acts:focus-within{opacity:1}
@media(hover:none){.acts{opacity:.8}}
.acts button{border:none;padding:0 6px;color:var(--mut)}.acts button.on{color:#d97706}
mark{background:var(--mk);color:inherit;border-radius:2px}mark.cur{background:var(--cur);color:#fff}
#doc.onlyhit article.miss,#doc.onlyhit h3{display:none}
.card{position:relative;border:1px solid var(--bd);border-radius:10px;padding:10px 64px 8px 14px;margin:12px 0}
.card .ch{font-weight:600;margin-bottom:2px}.card p{margin:2px 0}
.hit{display:block;padding:8px 10px;border-bottom:1px solid var(--bd);color:var(--fg)}.hit:hover{background:var(--side);text-decoration:none}
.hit b{color:var(--ac)}.hit span{color:var(--mut);font-size:14px;display:block}
.muted{color:var(--mut)}
.bmi{display:flex;gap:6px;align-items:flex-start;padding:4px 0;border-bottom:1px solid var(--bd);font-size:14px;line-height:1.5}
.bmi a{flex:1;color:var(--fg)}.bmi small{display:block;color:var(--mut)}.bmi button{border:none;color:var(--mut)}
footer{max-width:860px;margin:0 auto;padding:12px 20px 40px;color:var(--mut);font-size:12px;border-top:1px solid var(--bd)}
@media(max-width:800px){
 #menuBtn{display:inline-block}#side{position:fixed;z-index:30;left:0;top:49px;bottom:0;width:86vw;max-width:340px;transform:translateX(-102%);transition:transform .2s}
 #side.open{transform:none;box-shadow:0 0 30px #0006}#bar{padding:8px 12px}#doc{padding:12px}article{padding-right:44px}.jumpwrap{max-width:none}
 #bmBtn{padding:2px 6px}.brand{display:none}
}
