/* CSS-only compatibility with verified production markup. Never targets user output. */
:root, :root[data-theme] {
  --lb-obsidian:#0B0D10; --lb-graphite:#171A1F; --lb-dark-gray:#292E35;
  --lb-metallic:#737B86; --lb-silver:#B9C0C9; --lb-light-silver:#DDE1E6;
  --lb-cool-white:#F5F6F7; --lb-white:#FFFFFF;
}
:root:not([data-theme="light"]) {
  --lb-bg:var(--lb-obsidian); --lb-surface:var(--lb-graphite);
  --lb-sidebar:var(--lb-obsidian); --lb-chrome:var(--lb-obsidian);
  --lb-text:var(--lb-cool-white); --lb-divider:var(--lb-dark-gray);
}
/* Legacy auto-edit stylesheet stays byte-identical; these are shell controls only. */
.autoedit .ae-chip.on,.autoedit button.primary,.autoedit .ae-steps li.done .ae-dot {
  background:var(--lb-surface-raised); color:var(--lb-text); border-color:var(--lb-border-strong);
}
.autoedit .ae-log,.autoedit .ae-table input {background:var(--lb-surface-sunken);color:var(--lb-text);font-size:var(--lb-text-xs);}
.autoedit .ae-dot {font-size:var(--lb-text-xs);}
.autoedit :is(button,input:not([type=checkbox])) {min-height:var(--lb-control-h);}
aside[style*="#253127"] {background:var(--lb-surface-raised)!important;color:var(--lb-text)!important;}
/* Production uses textual platform badges; newer source uses a different class. */
.sidebar-platform .platform-badge,#publisher .platform-badge {background:var(--lb-surface-raised);color:var(--lb-text);font-size:var(--lb-text-xs);}
#draftCount {background:var(--lb-surface-raised);color:var(--lb-text);}
#pubStepOne,#pubStepTwo,#pubStepThree {color:var(--lb-text-secondary)!important;}
/* The live article experience stylesheet uses more specific main .panel rules
   and important form fills. Override only app chrome; reading size/export are unchanged. */
body:has(#richBody) :is(header,main .panel,dialog,.ux-steps) {
 background:var(--lb-surface);color:var(--lb-text);border-color:var(--lb-border);
}
body:has(#richBody) :is(input,textarea,select,#richBody) {
 background:var(--lb-surface-sunken)!important;color:var(--lb-text)!important;border-color:var(--lb-border)!important;
}
body:has(#richBody) .ux-steps {background:var(--lb-bg);}
/* Live controls absent from newer source components still need finger-sized targets. */
#publisher :is(button,select,input:not([type=checkbox]),a.button),
body:has(#batchFiles) button {min-height:var(--lb-control-h);min-width:var(--lb-control-h);}
body:has(#batchFiles) label:has(input[type=checkbox]) {min-height:var(--lb-control-h);}
body:has(#richBody) a[href="#help"] {display:inline-flex;align-items:center;min-height:var(--lb-control-h);}
body:has(#publisher) footer a {display:inline-flex;align-items:center;min-height:var(--lb-control-h);}
body:has(#richBody) .actions a {display:inline-flex;align-items:center;min-height:var(--lb-control-h);}
.pub-calendar-day>.button {min-height:var(--lb-control-h);}
body:has(#richBody) :is(main .intro p,.hint) {color:var(--lb-text-secondary);}
#publisher .pub-calendar-day>.button,#publisher .pub-calendar-post .button {min-height:var(--lb-control-h);}
#publisher #pubChecks {color:var(--lb-text-secondary);border-color:var(--lb-border);}
body:has(#batchFiles) {--bg:var(--lb-bg);--panel:var(--lb-surface);--border:var(--lb-border);--text:var(--lb-text);--muted:var(--lb-text-secondary);--accent:var(--lb-text-strong);}
body:has(#richBody) {--bg:var(--lb-bg);--panel:var(--lb-surface);--line:var(--lb-border);--text:var(--lb-text);--muted:var(--lb-text-secondary);--accent:var(--lb-text-strong);}
