:root{--maxw:1200px;--red:#b30000;--border:#ddd;--muted:#555}
*{box-sizing:border-box}
body{font-family:Arial, sans-serif; margin:0; padding:16px; background:#fff; color:#111}
.wrap{max-width:var(--maxw); margin:0 auto}
h1{font-size:26px; margin:0 0 6px 0}
p{margin:0 0 10px 0; color:var(--muted); font-size:14px}
.toolbar{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:12px 0}
.search{flex:1; min-width:220px}
.search input{width:100%; padding:8px 10px; border:1px solid var(--border); border-radius:8px; font-size:14px}
.tabs{display:flex; gap:6px; flex-wrap:wrap; border-bottom:1px solid var(--border); padding-bottom:6px; margin-top:8px}
.tab{padding:7px 10px; border:1px solid var(--border); border-bottom:none; background:#f6f6f6; cursor:pointer; border-radius:10px 10px 0 0; font-size:14px}
.tab.active{background:#fff; font-weight:700}
.panel{border:1px solid var(--border); border-radius:0 12px 12px 12px; padding:12px}
.cat{border-bottom:1px solid #eee; padding:10px 0}
.cat:last-child{border-bottom:none}
.catTitle{color:var(--red); font-weight:700; cursor:pointer; user-select:none}
.catTitle::before{content:"▸ "; font-size:12px}
.catTitle.open::before{content:"▾ ";}
.fields{margin-top:6px; margin-left:10px}
.field{margin:6px 0; padding:6px 8px; border:1px solid #f0f0f0; border-radius:10px}
.fieldHeader{display:flex; gap:8px; align-items:baseline; cursor:pointer}
.fieldName{font-weight:700}
.fieldDef{color:#333; font-size:13px}
.fieldHeader::before{content:"▸ "; font-size:12px; color:#666}
.field.open .fieldHeader::before{content:"▾ ";}
.enums{margin-top:6px; margin-left:14px; padding-left:10px; border-left:2px solid #eee}
.enum{margin:4px 0; font-size:13px}
.enumVal{font-weight:700}
.enumVal::after{content:" – "; font-weight:400}
.small{font-size:12px; color:#666}
.hidden{display:none}
.field.noEnums .fieldHeader{cursor:default}
.field.noEnums .fieldHeader::before{content:"";}
