\n\nInclude both. Order does not matter. Never inline their content.'},
{code:'NAV-09',label:'CM button markup — exact',detail:'\nClass: top-cm. Handler: cmdToggle(). Label: CM.\nDo not rename, restyle, or move it.'},
{code:'NAV-10',label:'ML button markup — exact',detail:'\nClass: top-ml. Handler: mlToggle(). Label: ML.\nDo not rename, restyle, or move it.'},
{code:'NAV-11',label:'Top bar CSS for CM and ML — exact values required',detail:'.top-cm: background #2a6aaa, border #60a8e8 (blue)\n.top-ml: background #6a2aaa, border #a060e8 (purple)\nFont: JetBrains Mono 11px bold. Padding: 3px 8px.\nNever swap colors. CM is blue. ML is purple. Always.'},
{code:'NAV-12',label:'CM = commands (blue). ML = master list (purple). Never swap.',detail:'CM background: #2a6aaa | border: #60a8e8\nML background: #6a2aaa | border: #a060e8\nColor is identity — do not swap or customize.'},
{code:'NAV-13',label:'Flyout overlays — do not push page content',detail:'The flyout opens from the top-right corner.\nWidth: min(520px, 96vw). Max-height: 75vh. Scrollable.\nIt is an overlay — page content does not shift.'},
{code:'NAV-14',label:'Flyout content is rendered by its .js file — never hardcoded',detail:'cmd-popup.js renders the command reference.\nml-popup.js fetches and renders open tasks from records DB.\nNever copy their output into a page. Include the script — that is all.'},
{code:'NAV-15',label:'Flyouts are platform-wide — same on every page',detail:'Do not customize flyout content per page.\nDo not filter what commands or tasks show.\nSame flyout, same content, every page.'},
{code:'NAV-16',label:'TOP BAR ORDER — path · version · CM · ML (rightmost always)',detail:'Left to right, fixed order:\n [← back link] ··· [path] [version] [CM] [ML]\nCM and ML are ALWAYS the two rightmost items.\nNothing goes to the right of CM or ML.\nNever put CM/ML before the version or path.'},
];
var container=document.getElementById('rules');
RULES.forEach(function(r){
var row=document.createElement('div');
row.className='rule-row';
row.innerHTML='