/* Shared surface hierarchy. Last stylesheet on every screen; geometry is unchanged. */
:root, html body, html body.nd-redesign {
  --nd-page: #0c1112;
  --nd-navigation: #172426;
  --nd-panel: #1d292a;
  --nd-field: #2a3838;
  --nd-control: #364846;
  --nd-control-hover: #435a55;
  --nd-border: #4b615d;
  --nd-field-border: #718b83;
  --nd-ink: #f0f5f2;
  --nd-secondary: #b8c9c2;
  --nd-brand: #c9ff4f;
  --nd-selected: #33432a;
  --nd-bg: var(--nd-page); --bg: var(--nd-page); --black: var(--nd-page);
  --nd-surface: var(--nd-panel); --surface: var(--nd-panel); --panel: var(--nd-panel);
  --nd-surface-raised: var(--nd-control); --surface-raised: var(--nd-control); --surface-2: var(--nd-control);
  --nd-text: var(--nd-ink); --text: var(--nd-ink); --paper: var(--nd-ink);
  --muted: var(--nd-secondary); --dim: var(--nd-secondary); --text-2: var(--nd-secondary);
  --line: var(--nd-border); --line-light: var(--nd-field-border); --line-strong: var(--nd-field-border); --nd-line: var(--nd-border);
}
html[data-theme="light"], html[data-theme="light"] body, html[data-theme="light"] body.nd-redesign {
  --nd-page: #eaf0ee;
  --nd-navigation: #d6e1dd;
  --nd-panel: #f5f8f6;
  --nd-field: #ffffff;
  --nd-control: #dbe6df;
  --nd-control-hover: #c8d8ce;
  --nd-border: #a5b8ad;
  --nd-field-border: #738e7f;
  --nd-ink: #111111;
  --nd-secondary: #111111;
  --nd-selected: #e4f0d5;
  --nd-bg: var(--nd-page); --bg: var(--nd-page); --black: var(--nd-page);
  --nd-surface: var(--nd-panel); --surface: var(--nd-panel); --panel: var(--nd-panel);
  --nd-surface-raised: var(--nd-control); --surface-raised: var(--nd-control); --surface-2: var(--nd-control);
  --nd-text: var(--nd-ink); --text: var(--nd-ink); --paper: var(--nd-ink);
  --muted: var(--nd-secondary); --dim: var(--nd-secondary); --text-2: var(--nd-secondary);
  --line: var(--nd-border); --line-light: var(--nd-field-border); --line-strong: var(--nd-field-border); --nd-line: var(--nd-border);
}
html body { background: var(--nd-page) !important; color: var(--nd-ink); }
html body :is(.main, .desk, .feed, .chat-pane) { background: var(--nd-page) !important; }
html body :is(.studio-sidebar, .rail, .admin-sidebar, .chat-library) {
  background: var(--nd-navigation) !important;
  border-color: var(--nd-border) !important;
}
html body :is(.top, .topbar, .auth-header) {
  background: var(--nd-navigation) !important;
  border-color: var(--nd-border) !important;
}
html body :is(
  .panel, .form-panel, .preview, .gen-settings, .gen-settings-foot, .gen-category-bar,
  .gen-selected, .gen-prepared-source, .gen-model-card, .gen-asset-dialog, .gen-asset-card,
  .upscale-settings, .upscale-source, .photo-editor, .pe-foot, .detail, .models,
  .profile-grid > section, .admin-layout > aside, .admin-detail fieldset, .admin-card,
  .settings-panel, .memory-panel, .provider-row, .school-banner, .school-access,
  .prompt-card, .auth-box, .nai-pricing-dialog, .nai-pricing-head, .nai-price-card,
  .plan, .promo, .toast, .chat-history, .chat-settings, .ref-preview-box,
  .nd-reference-dialog, .nd-market-note, .upscale-connection
) { background: var(--nd-panel) !important; border-color: var(--nd-border) !important; }

/* Editable areas remain brighter than the surrounding panel, including prompt chips. */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]):not([type=color]):not([type=submit]):not([type=button]), select, textarea, [contenteditable="true"]) {
  background: var(--nd-field) !important;
  color: var(--nd-ink) !important;
  border-color: var(--nd-field-border) !important;
  caret-color: var(--nd-ink);
}
html body :is(input, textarea)::placeholder { color: var(--nd-secondary) !important; opacity: .8; }
html body :is(input, select, textarea, [contenteditable="true"]):focus-visible {
  outline: 2px solid var(--nd-brand); outline-offset: 2px;
}
html body .nd-composer, html body .pane-composer {
  --ndc-bg: var(--nd-panel); --ndc-panel: var(--nd-control); --ndc-hover: var(--nd-control-hover);
  --ndc-line: var(--nd-border); --ndc-text: var(--nd-ink); --ndc-muted: var(--nd-secondary);
  background: var(--nd-field) !important; border-color: var(--nd-field-border) !important;
}
html body .nd-composer .gen-composer-bar { background: var(--nd-field) !important; }
html body .nd-composer .gen-prompt, html body .pane-composer textarea { border-radius: .5rem; }

/* Secondary actions have a solid neutral surface; only primary/selected actions use lime. */
html body :is(
  .btn, .button, .auth-price, .menu-toggle, .menu-close, .nd-theme-toggle, .admin-shortcut,
  .gen-attach, .gen-settings-toggle, .gen-settings-close, .gen-library-button,
  .gen-asset-close, .nai-pricing-close, .nai-price-button, .gen-ratios button,
  .gen-setting-field .duration-options button, .gen-result-actions .gen-upscale,
  .close, .attachment button, .trend-arrow, .icon-button, .nd-reference-close,
  .chat-empty .prompt-starter, .chat-settings-tabs button, .gen-assistant,
  .nd-prompt-tool, .chip, .tab, .act, .pe-tools button
) { background: var(--nd-control) !important; border-color: var(--nd-border) !important; color: var(--nd-ink); }
html body :is(.btn, .button, .auth-price, .menu-toggle, .menu-close, .nd-theme-toggle,
  .gen-settings-toggle, .gen-library-button, .icon-button, .nd-prompt-tool, .gen-assistant,
  .chip, .tab, .act, .nai-price-button, .chat-settings-tabs button):not(:disabled):hover {
  background: var(--nd-control-hover) !important; border-color: var(--nd-field-border) !important;
}
html body :is(.side-nav.nav a, .nav a) { color: var(--nd-secondary); }
html body :is(.side-nav.nav a, .nav a):hover { background: var(--nd-control) !important; color: var(--nd-ink); }
html body :is(.btn.primary, .button.lime, .auth-submit, .nai-price-button.primary, .go,
  .nav a.active, .side-nav.nav a.active, .chip.active, .chip[aria-pressed="true"],
  .tab[aria-selected="true"], .act.on, .gen-ratios button[aria-pressed="true"],
  .duration-options button[aria-pressed="true"], .gen-category-bar [role="tab"][aria-selected="true"],
  .pe-tools button[aria-pressed="true"], .chat-settings-tabs button[aria-pressed="true"]
) { background: var(--nd-brand) !important; color: #13200a !important; border-color: #b1df48 !important; }
html body :is(.btn.primary, .button.lime, .auth-submit, .nai-price-button.primary, .go):not(:disabled):hover {
  background: #d6ff7f !important;
}
html body :is(.conversation-item.active, .provider-row.active, .provider-row.selected, .userrow.selected,
  .plan.featured, .nai-price-card.featured) { background: var(--nd-selected) !important; border-color: #819e4b !important; }
html body :is(.btn.danger, .button.danger) { background: #57352f !important; color: #fff2ef !important; border-color: #9d6257 !important; }
html[data-theme="light"] body :is(.btn.danger, .button.danger) { background: #f6ded6 !important; color: #111 !important; }
html[data-theme="light"] body :is(input, select, textarea, [contenteditable="true"]):focus-visible {
  outline-color: #527324; box-shadow: 0 0 0 2px #c9ff4f;
}
