.kb-rules-tools { display:flex; align-items:center; gap:8px; margin:18px 0 8px; }
.kb-rules-tools label { flex:1; min-width:0; }
.kb-rules-tools label span { display:block; color:var(--muted); margin-bottom:7px; font-size:12px; }
.kb-rules-tools input { width:100%; min-height:42px; border:1px solid var(--line); border-radius:7px; padding:10px 12px; background:var(--panel); color:var(--text); font:inherit; }
.kb-rules-tools button { align-self:flex-end; min-height:42px; border:1px solid var(--line); border-radius:7px; padding:8px 12px; background:var(--panel); color:var(--gold); cursor:pointer; }
.kb-rules-meta { display:flex; flex-wrap:wrap; gap:8px 18px; color:var(--muted); font-size:12px; }
.kb-rules-meta a,.kb-rule-link { color:var(--gold); }
.kb-rules [role="status"] { color:var(--muted); font-size:13px; min-height:20px; }
.kb-rule { border:1px solid var(--line); border-radius:8px; margin:10px 0; background:var(--panel); scroll-margin-top:20px; }
.kb-rule[hidden] { display:none; }
.kb-rule summary { padding:16px; color:var(--gold); cursor:pointer; font-weight:700; line-height:1.5; }
.kb-rule-body { padding:0 16px 16px; line-height:1.8; overflow-wrap:anywhere; }
.kb-rule-body p { margin:0 0 12px; }
.kb-rule-body li { margin-bottom:8px; }
.kb-rule-link { font-size:12px; }
.kb-rules input:focus-visible,.kb-rules button:focus-visible,.kb-rule summary:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
@media(max-width:600px) { .kb-rule { scroll-margin-top:76px; } .kb-rule summary { padding:13px; font-size:14px; } .kb-rule-body { padding:0 13px 13px; font-size:14px; } .kb-rules-tools button { font-size:12px; padding:8px; } }
