:root{--border-radius-base:2px;--font-size-base:14px;--font-size-lg:16px;--font-size-sm:12px;--padding-lg:24px;--padding-md:16px;--padding-sm:12px;--padding-xs:8px;--margin-lg:24px;--margin-md:16px;--margin-sm:12px;--margin-xs:8px;--light-primary:#397eed;--light-primary-hover:#4d8cff;--light-primary-active:#256ce0;--light-outline:rgba(57,126,237,.2);--light-text:rgba(0,0,0,.85);--light-text-2:rgba(0,0,0,.45);--light-border:#d9d9d9;--light-split:#f0f0f0;--light-bg:#f5f5f5;--light-bg-light:#fafafa;--light-card:#fff;--light-input:#fff;--light-item:#e6f7ff;--light-hover:#f5f5f5;--dark-primary:#397eed;--dark-primary-hover:#4d8cff;--dark-primary-active:#256ce0;--dark-outline:rgba(57,126,237,.2);--dark-text:rgba(255,255,255,.85);--dark-text-2:rgba(255,255,255,.45);--dark-border:#434343;--dark-split:#303030;--dark-bg:#000;--dark-bg-base:#1d1d1d;--dark-bg-light:#141414;--dark-card:#1f1f1f;--dark-input:#1f1f1f;--dark-item:#111b26;--dark-hover:#262626;--group-btn:#a855f7;--group-bg:#2a1e33;--rule-btn:#22c55e;--rule-bg:#1c2921;--action-btn:#397eed;--action-bg:#1e2434}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:var(--font-size-base);line-height:1.5715}.theme-light{--primary:var(--light-primary);--primary-hover:var(--light-primary-hover);--primary-active:var(--light-primary-active);--outline:var(--light-outline);--text:var(--light-text);--text-2:var(--light-text-2);--border:var(--light-border);--split:var(--light-split);--bg:var(--light-bg);--bg-light:var(--light-bg-light);--card:var(--light-card);--input:var(--light-input);--item:var(--light-item);--hover:var(--light-hover);background:#f0f2f5;color:var(--text)}.theme-dark{--primary:var(--dark-primary);--primary-hover:var(--dark-primary-hover);--primary-active:var(--dark-primary-active);--outline:var(--dark-outline);--text:var(--dark-text);--text-2:var(--dark-text-2);--border:var(--dark-border);--split:var(--dark-split);--bg:var(--dark-bg-base);--bg-light:var(--dark-bg-light);--card:var(--dark-card);--input:var(--dark-input);--item:var(--dark-item);--hover:var(--dark-hover);background:#000;color:var(--text)}.container{width:100%}.page-header{background:var(--card);padding:var(--padding-lg);box-shadow:0 2px 8px #00000017}.title{font-size:20px;font-weight:600;margin-bottom:4px}.sub{color:var(--text-2)}.theme-switch{position:absolute;top:20px;right:20px;display:flex;gap:10px}.tbtn{width:32px;height:32px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer}.tbtn.light{background:linear-gradient(135deg,#fff,#f0f0f0);color:#333}.tbtn.dark{background:linear-gradient(135deg,#1d1d1d,#000);color:#fff}.card{background:var(--card);border-bottom:1px solid var(--split)}.card-head{border-bottom:1px solid var(--split);padding:0 var(--padding-lg)}.card-title{font-size:var(--font-size-lg);padding:var(--padding-sm) 0}.card-body{padding:var(--padding-lg)}.builder{background:var(--bg-light);padding:var(--padding-md)}.group{background:var(--card);border:1px solid var(--border);border-radius:var(--border-radius-base);padding:var(--padding-md);margin-bottom:var(--margin-sm)}.group.nested{background:var(--item);border-color:var(--primary)}.group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--margin-sm);padding-bottom:var(--padding-xs);border-bottom:1px solid var(--split)}.group-title{font-weight:500}.group-actions{display:flex;gap:8px;flex-wrap:nowrap}.rule{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--border-radius-base);padding:var(--padding-sm);margin-bottom:var(--margin-xs);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rule.nested{background:var(--item);border-color:var(--primary)}.form-item{flex:1;min-width:150px}.label{display:block;font-size:var(--font-size-sm);color:var(--text-2);margin-bottom:4px}select,input{width:100%;padding:4px 11px;border:1px solid var(--border);border-radius:var(--border-radius-base);background:var(--input);color:var(--text)}select:focus,input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--outline)}select:hover,input:hover{border-color:var(--primary-hover)}.hint{font-size:var(--font-size-sm);color:var(--text-2);margin-top:4px;font-style:italic}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--border-radius-base);padding:4px 15px;height:32px;cursor:pointer;transition:.3s}.btn.action{color:var(--action-btn);background:var(--action-bg);border-color:var(--action-btn)}.btn.action:hover{color:#fff;background:var(--primary-hover);border-color:var(--primary-hover)}.btn.danger{color:#fff;background:#ff4d4f;border-color:#ff4d4f}.btn.danger:hover{background:#ff7875;border-color:#ff7875}.btn.small{padding:0 7px;height:24px;flex:0 0 auto}.btn-group-center{display:flex;justify-content:center;gap:8px;margin-top:10px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:var(--margin-md);justify-content:center}.result{background:var(--bg-light);padding:var(--padding-md);border:1px solid var(--border);border-radius:var(--border-radius-base)}.json{background:var(--input);padding:var(--padding-md);border:1px solid var(--border);border-radius:var(--border-radius-base);font-family:ui-monospace,SFMono-Regular,Consolas,Menlo,monospace;font-size:13px;white-space:pre-wrap;max-height:400px;overflow:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--card);border-radius:var(--border-radius-base);width:90%;max-width:640px;max-height:80vh;overflow:hidden}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:var(--padding-md) var(--padding-lg);border-bottom:1px solid var(--split)}.modal-title{font-size:var(--font-size-lg)}.modal-body{padding:var(--padding-lg)}.close{background:none;border:none;font-size:20px;color:var(--text-2);cursor:pointer}.empty{text-align:center;padding:var(--padding-lg);color:var(--text-2)}@media (max-width:768px){.actions{flex-direction:column}.btn{width:100%}.rule{flex-direction:column;align-items:stretch}.form-item{min-width:100%}}
