.rules-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:27px 30px; border:1px solid var(--border); border-radius:14px; background:linear-gradient(115deg,var(--surface) 40%,var(--primary-soft)); }
.rules-intro h2 { font-size:20px; margin:15px 0 8px; letter-spacing:-.4px; }
.rules-intro p { margin:0; font-size:12px; line-height:1.8; color:var(--muted); }
.rules-ai-status { display:flex; align-items:flex-end; flex-direction:column; gap:12px; flex-shrink:0; font-size:11px; color:var(--muted); }
.rules-ai-status .configured { color:var(--brand-green); }
.rules-scope-note { display:flex; align-items:flex-start; gap:9px; margin:15px 0 25px; color:var(--muted); font-size:11px; line-height:1.9; }
.rules-scope-note svg { width:16px; height:16px; margin-top:2px; flex-shrink:0; }
.rules-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:17px; flex-wrap:wrap; }
.rules-factories { flex-wrap:wrap; }
.rules-library { overflow:hidden; }
.rules-library-head { display:flex; align-items:center; gap:12px; padding:18px 20px; border-bottom:1px solid var(--border); }
.rules-library-head .search-field { flex:1; }
.rules-library-head input[type=search] { width:100%; border:1px solid var(--border); border-radius:7px; padding:10px 12px 10px 37px; color:var(--text); background:var(--surface); font:inherit; font-size:11px; min-height:38px; }
.rules-library-head select { border:1px solid var(--border); border-radius:7px; background:var(--surface); color:var(--text); font-size:11px; padding:9px; }
.rules-library-head .archived-toggle { white-space:nowrap; }
.rules-split { display:grid; grid-template-columns:285px minmax(0,1fr); }
.rules-index { border-right:1px solid var(--border); background:color-mix(in srgb,var(--surface-soft) 50%,white); }
.rules-count { padding:17px 20px 12px; color:var(--muted); font-size:10px; }
#rules-list { max-height:760px; overflow:auto; padding:0 10px 12px; }
.rules-doc-row { display:block; text-align:left; width:100%; border:1px solid transparent; border-radius:9px; background:transparent; padding:15px 12px; color:var(--text); margin-bottom:5px; cursor:pointer; }
.rules-doc-row:hover { background:var(--surface); }
.rules-doc-row.selected { background:var(--surface); border-color:color-mix(in srgb,var(--brand-purple) 35%,white); box-shadow:inset 3px 0 var(--brand-purple); }
.rules-doc-row strong { display:block; font-size:12px; line-height:1.8; margin:5px 0 10px; overflow-wrap:anywhere; }
.rules-row-meta { font-size:9px; color:var(--muted); }
.rules-row-foot { display:flex; align-items:center; justify-content:space-between; gap:7px; }
.rules-row-foot small { color:var(--muted); font-size:9px; }
.rules-row-foot .badge { font-size:9px; padding:3px 6px; }
.rules-detail { min-width:0; padding:26px 27px; }
.rules-doc-meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px; font-size:10px; color:var(--muted); }
.rules-doc-heading h2 { font-size:21px; line-height:1.6; margin:15px 0 6px; overflow-wrap:anywhere; }
.rules-doc-heading>p { font-size:11px; color:var(--muted); margin:0 0 20px; }
.rules-doc-actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; padding-bottom:20px; }
.rules-doc-actions .button.small { padding:8px 11px; font-size:10px; }
.rules-doc-actions .text-button { font-size:10px; }
.rules-delete { color:var(--danger-text); margin-left:auto; }
.rules-provenance { padding:12px 14px; border:1px solid var(--border); border-radius:8px; background:var(--surface-soft); font-size:10px; line-height:1.8; margin-bottom:24px; color:var(--muted); }
.rules-provenance summary { cursor:pointer; font-weight:500; color:var(--text); }
.rules-provenance code { display:block; font-size:9px; overflow-wrap:anywhere; margin:7px 0; }
.rules-markdown { font-size:12px; line-height:1.95; overflow-wrap:anywhere; }
.rules-detail>.rules-markdown { max-height:640px; overflow:auto; padding-right:10px; }
.rules-markdown h2 { font-size:19px; line-height:1.6; margin:0 0 18px; }
.rules-markdown h3 { font-size:16px; margin:26px 0 10px; line-height:1.6; }
.rules-markdown h4,.rules-markdown h5,.rules-markdown h6 { font-size:13px; margin:18px 0 8px; }
.rules-markdown p { margin:8px 0; white-space:pre-wrap; }
.rules-markdown code { font:11px/1.8 ui-monospace,monospace; background:var(--surface-soft); padding:1px 4px; border-radius:3px; }
.rules-markdown pre { padding:14px; border:1px solid var(--border); border-radius:7px; background:var(--surface-soft); white-space:pre-wrap; }
.rules-markdown pre code { padding:0; }
.rules-markdown a { color:var(--brand-deep-purple); text-decoration:underline; text-underline-offset:3px; }
.rules-markdown hr { border:0; border-top:1px solid var(--border); margin:20px 0; }
.rules-markdown blockquote { margin:12px 0; padding:11px 14px; border-left:3px solid var(--brand-pale-blue); background:var(--surface-soft); color:var(--muted); font-size:11px; line-height:1.8; }
.rules-md-table { overflow:auto; margin:16px 0; border:1px solid var(--border); border-radius:7px; }
.rules-md-table table { width:100%; min-width:0; }
.rules-md-table th,.rules-md-table td { padding:9px 11px; font-size:11px; line-height:1.8; white-space:normal; min-width:100px; }
.rules-bullet { display:flex; align-items:baseline; gap:8px; margin:4px 0; }
.rules-bullet>span { color:var(--brand-purple); flex-shrink:0; }
.rules-jobs-panel { margin-top:24px; }
.rules-job { display:flex; align-items:center; gap:13px; padding:18px 24px; border-top:1px solid var(--border); }
.rules-job>div { flex:1; min-width:0; }
.rules-job strong { font-size:12px; overflow-wrap:anywhere; }
.rules-job p { font-size:10px; color:var(--muted); margin:6px 0 0; line-height:1.8; }
.rules-job .rules-job-error { color:var(--danger-text); }
.rules-job-icon { display:grid; place-items:center; width:33px; height:33px; background:var(--primary-soft); border-radius:9px; color:var(--brand-purple); }
.rules-job-icon svg { width:18px; height:18px; }
.rules-dialog.rules-wide { width:min(1000px,calc(100vw - 40px)); }
#rules-dialog-content, #rules-dialog form { display:flex; flex-direction:column; max-height:calc(100vh - 55px); }
#rules-dialog-content>.form-body { padding-top:5px; }
.rules-dialog .form-heading,.rules-dialog .form-footer { flex-shrink:0; }
.rules-dialog textarea[name=content] { font-family:ui-monospace,'Atlas Noto Sans TC',sans-serif; font-size:12px; }
.rules-version { border:1px solid var(--border); border-radius:8px; margin:12px 0; padding:15px; font-size:12px; }
.rules-version summary { cursor:pointer; }
.rules-version .rules-markdown { max-height:400px; overflow:auto; margin:15px 0; }
.rules-comparison { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:17px; }
.rules-comparison>section { min-width:0; border:1px solid var(--border); border-radius:8px; padding:18px; }
.rules-comparison>section>h3 { font-size:12px; color:var(--brand-purple); margin:0 0 15px; }
.rules-comparison .rules-markdown { max-height:460px; overflow:auto; }
.rules-source-links { display:flex; flex-direction:column; gap:9px; padding:16px 0; font-size:11px; overflow-wrap:anywhere; }
.rules-source-links .external-link { font-size:11px; }
@media(max-width:1100px) { .rules-split { grid-template-columns:235px minmax(0,1fr); } .rules-detail { padding:22px 20px; } .rules-intro { padding:24px; } .rules-intro h2 { font-size:18px; } }
@media(max-width:800px) { .rules-intro { align-items:flex-start; flex-direction:column; gap:20px; } .rules-ai-status { align-items:flex-start; } .rules-split { grid-template-columns:1fr; } .rules-index { border-right:0; border-bottom:1px solid var(--border); } #rules-list { display:flex; max-height:240px; overflow:auto; gap:7px; } .rules-doc-row { flex:0 0 240px; } .rules-library-head { flex-wrap:wrap; } .rules-library-head .search-field { flex-basis:100%; } .rules-job { flex-wrap:wrap; } .rules-job>div { flex-basis:65%; } .rules-dialog .form-footer { flex-wrap:wrap; } }
