/* NORTHDEAGLE v42 — final visual layer. Load after all page styles.
   Keep the established workspace/drawer behaviour; only extend its surfaces,
   controls and responsive limits. No external fonts or assets are requested. */
:root,
html body.nd-v42,
html body.nd-v42.nd-redesign,
html body.nd-v42.studio-shell[data-page] {
  --nd-page: #252c2b;
  --nd-navigation: #2b3332;
  --nd-panel: #343d3b;
  --nd-field: #3e4845;
  --nd-control: #47524d;
  --nd-control-hover: #536057;
  --nd-border: #ffffff12;
  --nd-field-border: #81918b70;
  --nd-ink: #f4f6f2;
  --nd-secondary: #c0cac4;
  --nd-brand: #c7f768;
  --nd-lime: var(--nd-brand);
  --nd-selected: #3a4930;
  --nd-glass: #435044d6;
  --nd-glass-strong: #354035ed;
  --nd-danger: #ff8d87;
  --nd-danger-bg: #542f31;
  --nd-success: #c7f768;
  --nd-success-bg: #34472d;
  --nd-shadow: 0 6px 20px #101a1924, 0 1px 3px #101a1914;
  --nd-shadow-raised: 0 18px 48px #101a193d, 0 3px 10px #101a191f;
  --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);
  --lime: var(--nd-brand); --lime-soft: #d5ff87; --accent: var(--nd-brand);
  --red: var(--nd-danger); --red-hot: var(--nd-danger); --red-deep: #b54645;
  background: var(--nd-page) !important;
  color: var(--nd-ink);
  -webkit-font-smoothing: antialiased;
}
html[data-theme="light"] body.nd-v42,
html[data-theme="light"] body.nd-v42.nd-redesign,
html[data-theme="light"] body.nd-v42.studio-shell[data-page] {
  --nd-page: #edf0e9;
  --nd-navigation: #e5eae1;
  --nd-panel: #f9fbf6;
  --nd-field: #ffffff;
  --nd-control: #e7ece2;
  --nd-control-hover: #dce5d5;
  --nd-border: #26372a16;
  --nd-field-border: #73806a75;
  --nd-ink: #20291e;
  --nd-secondary: #53604c;
  --nd-selected: #e0edcf;
  --nd-glass: #eef5e5db;
  --nd-glass-strong: #e7eedfeb;
  --nd-danger: #b5282e;
  --nd-danger-bg: #ffedeb;
  --nd-success: #42681b;
  --nd-success-bg: #e6f1d8;
  --nd-shadow: 0 6px 20px #26372a0b, 0 1px 3px #26372a09;
  --nd-shadow-raised: 0 18px 48px #26372a1c, 0 3px 10px #26372a0d;
}

/* A quiet continuous edge sits above navigation, drawers and scrims. */
html body.nd-v42::after { content: none; display: none; }
html body.nd-v42 :is(.main, .desk, .feed, .chat-pane, .gen-workbench, .gen-main, .gen-feed) {
  background: var(--nd-page) !important;
}
html body.nd-v42 :is(.main, .desk)::before { background: none !important; }
html body.nd-v42 :is(.studio-sidebar, .rail, .admin-sidebar, .chat-library, .top, .topbar, .auth-header) {
  background: var(--nd-navigation) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
html body.nd-v42 .studio-sidebar { backdrop-filter: none; -webkit-backdrop-filter: none; }
html body.nd-v42 :is(.brand, .auth-brand) { animation: none !important; transform: none; text-shadow: none !important; }
html body.nd-v42 :is(.sidebar-caption, .sidebar-foot, .top-context small) { color: var(--nd-secondary) !important; opacity: .8; }
html body.nd-v42 .top-context { color: var(--nd-ink) !important; font-size: .875rem; font-weight: 600; }
html body.nd-v42 .sidebar-head { margin-bottom: 1.75rem; }
html body.nd-v42 .side-nav.nav { gap: .375rem; }
html body.nd-v42 .side-nav.nav a {
  min-height: 2.875rem;
  border: 0 !important;
  border-radius: .75rem;
  color: var(--nd-secondary) !important;
  font-size: .875rem;
  font-weight: 500;
  box-shadow: none !important;
}
html body.nd-v42 #main-menu .side-nav.nav a.active {
  background: var(--nd-selected) !important;
  color: var(--nd-ink) !important;
  font-weight: 650;
  box-shadow: inset 3px 0 var(--nd-brand) !important;
}
html body.nd-v42 #main-menu .side-nav.nav a.active svg { color: var(--nd-success) !important; }
html body.nd-v42 :is(h1, h2, h3) { text-wrap: balance; }
html body.nd-v42 h1 { font-weight: 700; letter-spacing: -.045em; line-height: 1.12; }
html body.nd-v42 h2 { font-weight: 650; letter-spacing: -.025em; }
html body.nd-v42 h3 { font-weight: 600; letter-spacing: -.015em; }
html body.nd-v42 :is(.page-heading p, .intro p, .empty p, .chat-empty p) { line-height: 1.65; text-wrap: pretty; }
html body.nd-v42 :is(.eyebrow, .field-label) { font-weight: 600; }
html body.nd-v42 :is(.balance, .price, .quote, .wallet, time) { font-variant-numeric: tabular-nums; }
html body.nd-v42 :is(.muted, .hint, .note, .page-heading p, .empty p, .chat-empty p, .gen-empty p, .gen-prepared-empty p) { color: var(--nd-secondary) !important; }

/* Elevation marks actual groups; nested controls do not receive extra frames. */
html body.nd-v42 :is(
  .panel, .form-panel, .preview, .profile-grid > section, .plan, .nai-price-card,
  .admin-card, .admin-layout > aside, .settings-panel, .memory-panel, .school-banner,
  .school-access, .prompt-card, .auth-box, .connection-cost-card, .upscale-source,
  .upscale-settings, .upscale-connection, .nd-market-note, .job, .nd-media-card,
  .gen-prepared-source, .gen-asset-card, .gen-composer, .pane-composer
) {
  background: var(--nd-panel) !important;
  border-color: transparent !important;
  box-shadow: var(--nd-shadow) !important;
  border-radius: 1rem;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
html body.nd-v42 :is(.nai-pricing-dialog, .promo, .photo-editor, .gen-asset-dialog, .nd-reference-dialog, .toast) {
  background: var(--nd-panel) !important;
  border-color: transparent !important;
  box-shadow: var(--nd-shadow-raised) !important;
  border-radius: 1.25rem;
}
html body.nd-v42 :is(.plan.featured, .nai-price-card.featured) {
  background: var(--nd-selected) !important;
  box-shadow: var(--nd-shadow) !important;
  border-color: transparent !important;
}
html body.nd-v42 :is(.plan-badge, .nai-plan-badge) { border: 0 !important; box-shadow: none !important; }
html body.nd-v42 :is(.gen-context-tags span, .badge, .skill, .premium-tag) { box-shadow: none !important; }
html body.nd-v42 :is(.loading-dot, .sidebar-dot, .upscale-dot, .gen-update-mark),
html body.nd-v42 .gen-selected-head h2::before { box-shadow: none !important; }
html body.nd-v42 :is(.trailer-stage, .trailer-orbit, .trailer-orbit::after) { box-shadow: none !important; }
html body.nd-v42 .trailer-stage { background: var(--nd-panel) !important; border-color: transparent !important; }
html body.nd-v42 .trailer-orbit { opacity: .5; }

html body.nd-v42 :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]):not([type="color"]), select, textarea, [contenteditable="true"]) {
  color: var(--nd-ink) !important;
  background: var(--nd-field) !important;
  border-color: var(--nd-field-border) !important;
  border-radius: .625rem;
  box-shadow: none !important;
  caret-color: var(--nd-ink);
}
html body.nd-v42 :is(input, select) { min-height: 2.75rem; }
html body.nd-v42 :is(input[type="checkbox"], input[type="radio"], input[type="range"]) { min-height: 0; accent-color: var(--nd-brand); }
html body.nd-v42 :is(input, textarea)::placeholder { color: var(--nd-secondary) !important; opacity: .8; }
html body.nd-v42 :is(
  .btn, .button, .chip, .tab, .act, .icon-button, .menu-toggle, .menu-close,
  .nd-theme-toggle, .auth-price, .admin-shortcut, .nd-language, .gen-attach,
  .gen-settings-toggle, .gen-settings-close, .gen-library-button, .gen-asset-close,
  .gen-ratios button, .duration-options button, .nai-price-button, .nai-pricing-close,
  .nd-composer-tool, .nd-composer-library, .gen-assistant, .nd-paste-button,
  .chat-empty .prompt-starter, .chat-settings-tabs button
) {
  background: var(--nd-control) !important;
  border-color: transparent !important;
  color: var(--nd-ink) !important;
  box-shadow: none !important;
  border-radius: .625rem;
  font-weight: 600;
  min-height: 2.75rem;
  text-shadow: none !important;
}
html body.nd-v42 :is(.btn.primary, .button.lime, .auth-submit, .nai-price-button.primary, .go, #generate-btn) {
  background: var(--nd-brand) !important;
  color: #20300c !important;
  border-color: transparent !important;
  box-shadow: 0 3px 8px #15200d18 !important;
  font-weight: 700;
}
html body.nd-v42 :is(.btn.primary, .button.lime, .auth-submit, .nai-price-button.primary, .go, #generate-btn) svg { color: inherit !important; }
html body.nd-v42 :is(.chip.active, .chip[aria-pressed="true"], .tab[aria-selected="true"], .act.on,
  .gen-ratios button[aria-pressed="true"], .duration-options button[aria-pressed="true"],
  .pe-tools button[aria-pressed="true"], .chat-settings-tabs button[aria-pressed="true"]) {
  background: var(--nd-selected) !important;
  color: var(--nd-ink) !important;
  box-shadow: inset 0 -2px var(--nd-brand) !important;
}
html[data-theme] body.nd-v42.studio-shell :is(.gen-ratios button[aria-pressed="true"], .duration-options button[aria-pressed="true"]) {
  background: var(--nd-selected) !important;
  color: var(--nd-ink) !important;
  border-color: transparent !important;
  box-shadow: inset 0 -2px var(--nd-brand) !important;
}
html body.nd-v42 :is(.btn, .button, button, a, input, select, textarea, [contenteditable="true"]):focus-visible {
  outline: 2px solid var(--nd-brand) !important;
  outline-offset: 3px;
}
html[data-theme="light"] body.nd-v42 :is(.btn, .button, button, a, input, select, textarea, [contenteditable="true"]):focus-visible {
  outline-color: #557625 !important;
}
html body.nd-v42 :is(button:disabled, input:disabled, select:disabled, textarea:disabled, [aria-disabled="true"]) {
  opacity: .48;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}

/* Generation retains its own scrolling regions. Settings are the right-hand
   translucent plane; the history is a quieter, matte strip. */
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-category-bar {
  background: var(--nd-page) !important;
  border: 0 !important;
  padding-inline: 1rem;
  gap: .375rem;
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-category-bar [role="tab"] {
  min-height: 2.75rem;
  border: 0 !important;
  border-radius: .625rem;
  color: var(--nd-secondary) !important;
  background: transparent !important;
  font-weight: 550;
  box-shadow: none !important;
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-category-bar [aria-selected="true"] {
  color: var(--nd-ink) !important;
  background: var(--nd-panel) !important;
  box-shadow: inset 0 -2px var(--nd-brand) !important;
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-history-rail {
  background: var(--nd-navigation) !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 1rem;
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-frame { border-color: transparent !important; border-radius: .75rem; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-frame.active { background: var(--nd-selected) !important; box-shadow: inset 3px 0 var(--nd-brand) !important; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-frame.active .gen-frame-media { box-shadow: none !important; border: 0 !important; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-selected { background: transparent !important; box-shadow: none !important; border: 0 !important; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-composer { border: 0 !important; padding: .875rem; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-composer-wrap::before { background: none !important; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .nd-ref-dropzone {
  background: var(--nd-field) !important;
  border: 0 !important;
  border-radius: .75rem;
  padding: .625rem .75rem;
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .nd-mention-editor {
  background: transparent !important;
  color: var(--nd-ink) !important;
  font-size: 1rem;
  line-height: 1.6;
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-composer-bar { background: transparent !important; gap: .5rem; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-composer-bar :is(.gen-attach, .gen-library-button, .gen-settings-toggle, .nd-paste-button, #generate-btn) {
  min-height: 2.75rem !important;
  height: auto !important;
  font-size: .8125rem;
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings {
  background: var(--nd-glass) !important;
  border: 0 !important;
  box-shadow: -12px 0 32px #101a1924, inset 1px 0 #ffffff0a !important;
  backdrop-filter: blur(22px) saturate(.7);
  -webkit-backdrop-filter: blur(22px) saturate(.7);
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings-head {
  padding: 1.125rem;
  border: 0 !important;
  background: transparent !important;
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings-head h2 { font-size: 1.125rem; font-weight: 650; letter-spacing: -.02em; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings-body { padding: 0 1.125rem 1.125rem; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings-foot {
  background: var(--nd-glass-strong) !important;
  border: 0 !important;
  padding: 1rem 1.125rem;
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-model-card { border: 0 !important; background: transparent !important; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-model-option {
  background: var(--nd-panel) !important;
  border-color: transparent !important;
  border-radius: .625rem;
  box-shadow: none !important;
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-model-option[aria-pressed="true"] {
  background: var(--nd-selected) !important;
  border-color: transparent !important;
  box-shadow: inset 3px 0 var(--nd-brand) !important;
}
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-model-picker { font-size: .875rem; gap: .625rem; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] :is(.gen-setting-field, .gen-model-picker) select { font-weight: 500; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] :is(.gen-setting-field > span, .gen-setting-field > label, .field-label) { font-size: .8125rem; color: var(--nd-secondary) !important; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings-foot .quote { background: transparent !important; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings-foot .quote strong { font-size: 1.75rem; font-weight: 650; letter-spacing: -.03em; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] :is(.gen-ratios, .duration-options) { gap: .375rem; }
html[data-theme] body.nd-v42.studio-shell[data-page="create"] :is(.gen-ratios button, .duration-options button) { min-height: 2.75rem; font-size: .8125rem; }

/* Media pixels and overlays keep their own contrast in either theme. */
html body.nd-v42 :is(.gen-player-stage, .gen-result-media, .gen-frame-media, .upscale-player, .nd-media-preview, .gen-asset-preview) {
  background: #161c1c !important;
  border-color: transparent !important;
  border-radius: .75rem;
}
html body.nd-v42 :is(.gen-player-stage, .gen-result-media, .upscale-player, .nd-media-preview, .gen-asset-preview) :is(.gen-media-error, .gen-job-error, .gen-result-placeholder) {
  color: #f1f5eb !important;
}
html body.nd-v42 :is(.gen-asset-preview > span, .nd-ref-number, .gen-frame-order, .fav-mark, .ref [data-remove]) {
  background: #1a211de6 !important;
  color: #f4f7ef !important;
  border-color: transparent !important;
}
html body.nd-v42 :is(.gen-asset-preview > span, .nd-ref-number, .gen-frame-order, .fav-mark, .ref [data-remove]) * { color: inherit !important; }
html[data-theme="light"] body.nd-v42 :is(.gen-player-stage, .gen-result-media, .gen-frame-media, .upscale-player, .nd-media-preview, .gen-asset-preview) {
  background: #dce4d7 !important;
  color: var(--nd-ink) !important;
}
html[data-theme="light"] body.nd-v42 :is(.gen-result-wait, .nd-preview-fallback) :is(p, strong, span, small) { color: var(--nd-ink) !important; }
html[data-theme="light"] body.nd-v42 :is(.gen-asset-preview > span, .nd-ref-number, .gen-frame-order, .fav-mark, .ref [data-remove]) {
  color: #f4f7ef !important;
  background: #1a211de6 !important;
}
html[data-theme="light"] body.nd-v42 :is(.gen-asset-preview > span, .nd-ref-number, .gen-frame-order, .fav-mark, .ref [data-remove]) * { color: inherit !important; }

/* Status semantics override the older shared palette. Errors are red; progress
   and completed work are lime. Never communicate state with colour alone. */
html body.nd-v42 :is(.status.error, .quote.error, .message-error, .error-banner, .gen-submit-feedback.error,
  .gen-job-error, .gen-media-error, .badge.blocked, .ref-incompatible, .page-status.error,
  #notice.error, .pane-status.error, .nd-upload-error, [data-state="error"], [data-status="failed"]) {
  color: var(--nd-danger) !important;
  background: var(--nd-danger-bg) !important;
  border-color: color-mix(in srgb, var(--nd-danger) 40%, transparent) !important;
  box-shadow: none !important;
}
html body.nd-v42 :is(.status.error, .quote.error, .message-error, .error-banner, .gen-submit-feedback.error,
  .gen-job-error, .gen-media-error, #notice.error, .pane-status.error) :is(span, strong, small, p, svg) { color: inherit !important; }
html body.nd-v42 :is(.btn.danger, .button.danger, [data-stop]) { background: var(--nd-danger-bg) !important; color: var(--nd-danger) !important; border-color: transparent !important; }
html body.nd-v42 :is([aria-invalid="true"], input:user-invalid, select:user-invalid, textarea:user-invalid) { border-color: var(--nd-danger) !important; }
html body.nd-v42 :is(.status.success, .gen-submit-feedback:not(.error), .pending-line, .job-status, [data-state="success"], [data-status="succeeded"]) {
  color: var(--nd-success) !important;
}
html body.nd-v42 .gen-submit-feedback:not(.error) { background: var(--nd-success-bg) !important; border-color: transparent !important; box-shadow: none !important; }
html body.nd-v42 .gen-submit-feedback:not(.error) :is(strong, p, span, small) { color: inherit !important; }
html body.nd-v42 :is(.meter i, .pending-line i, .loading-dot, .sidebar-dot, .upscale-dot, progress) { accent-color: var(--nd-brand); }
html body.nd-v42 :is(.meter i, .pending-line i, .loading-dot, .sidebar-dot, .upscale-dot) { background: var(--nd-brand) !important; box-shadow: none !important; }
html body.nd-v42 .nd-generation-progress progress::-webkit-progress-value { background: var(--nd-brand); }
html body.nd-v42 .nd-generation-progress progress::-moz-progress-bar { background: var(--nd-brand); }

/* Custom SVG set and quiet, theme-aware section drawings. */
html body.nd-v42 svg.nd-icon-v42 { width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem; stroke-width: 1.65; pointer-events: none; vertical-align: middle; }
html body.nd-v42 .side-nav.nav svg.nd-icon-v42 { width: 1.375rem; height: 1.375rem; flex-basis: 1.375rem; }
html body.nd-v42 .nd-icon-control-v42 { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; }
html body.nd-v42 .nd-illustration-v42 { display: block; width: 8rem; height: 5.5rem; margin: 0 auto 1rem; color: var(--nd-secondary) !important; pointer-events: none; overflow: visible; }
html body.nd-v42 .nd-illustration-v42 .nd-art-panel { fill: var(--nd-control); stroke: none; }
html body.nd-v42 .nd-illustration-v42 .nd-art-line { stroke: var(--nd-secondary); fill: none; stroke-width: 1.4; opacity: .65; }
html body.nd-v42 .nd-illustration-v42 .nd-art-accent { fill: var(--nd-brand); stroke: none; }
html body.nd-v42 .nd-illustration-v42 .nd-art-ink { stroke: #344522; fill: none; stroke-width: 1.6; }
html body.nd-v42 .nd-section-art-v42 { position: relative; padding-right: 0; }
html body.nd-v42 .nd-section-art-v42 > .nd-illustration-v42 { display: none; }
html body.nd-v42 :is(.gen-empty, .chat-empty, .empty) { border-color: transparent !important; }
html body.nd-v42 :is(.gen-empty, .chat-empty) h2 { font-size: clamp(1.25rem, 1.4vw, 1.625rem); font-weight: 650; }

@media (min-width: 720px) {
  html body.nd-v42 .nd-section-art-v42 { padding-right: 9rem; min-height: 6.5rem; }
  html body.nd-v42 .nd-section-art-v42 > .nd-illustration-v42 { display: block; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); margin: 0; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-composer { padding: 1rem; }
}
@media (min-width: 901px) {
  html body.nd-v42.studio-shell { --nd-desktop-sidebar: clamp(13.5rem, 14vw, 16rem); }
  html body.nd-v42.studio-shell .studio-sidebar { padding-inline: 1rem; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-main { grid-template-columns: clamp(11rem, 17vw, 17rem) minmax(0, 1fr) !important; gap: 1rem !important; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-composer-wrap { max-height: 55dvh; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-frame-meta { font-size: .75rem !important; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-frame-prompt { font-size: .8125rem; }
}
@media (min-width: 1180px) {
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-workbench { grid-template-columns: minmax(0, 1fr) clamp(18rem, 22vw, 23rem); }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings { border-radius: 1.125rem 0 0 0; }
}
@media (min-width: 1600px) {
  html body.nd-v42.studio-shell :is(.main, .admin-page):not(:has(.gen-workbench)) { max-width: 110rem; margin-inline: auto; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-main { grid-template-columns: clamp(14rem, 15vw, 20rem) minmax(0, 1fr) !important; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-selected { max-width: 78rem; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings { padding-top: .25rem; }
}
@media (max-width: 900px) {
  html body.nd-v42 .top .userbar :is(.btn, .wallet, .avatar, .nd-theme-toggle, .nd-language) { min-height: 2.75rem; }
  html body.nd-v42 .top .userbar { min-width: 0; gap: .375rem; }
  html body.nd-v42 .nd-language { height: 2.75rem; }
  html body.nd-v42 .nd-language select { min-height: 2.625rem !important; }
  html body.nd-v42 .side-nav.nav a { min-height: 3rem; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings { border-radius: 1.125rem 0 0 1.125rem; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings-body { padding-bottom: 1.5rem; }
}
@media (max-width: 719px) {
  html body.nd-v42 :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea, [contenteditable="true"]) { font-size: 1rem; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-composer-wrap { max-height: none; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-main { gap: .75rem; padding: .75rem; }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings { max-width: calc(100vw - .75rem); }
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings-toggle .gen-model-label { font-size: .8125rem; }
  html body.nd-v42 :is(.gen-ratios button, .duration-options button, .icon-button, .nd-composer-tool, .nd-ref-add, .gen-rail-tools button, .gen-rail-tools summary) { min-width: 2.75rem; min-height: 2.75rem; }
  html body.nd-v42 .nd-ref-actions { min-height: 2.75rem; height: auto; }
  html body.nd-v42 :is(.plan, .panel, .profile-grid > section) { border-radius: .875rem; }
  html body.nd-v42 .nd-illustration-v42 { width: 6.75rem; height: 4.625rem; margin-bottom: .75rem; }
}
@media (hover: hover) and (pointer: fine) {
  html body.nd-v42 :is(.btn, .button, .side-nav.nav a, .gen-model-option, .gen-ratios button, .nd-composer-tool, .chip, .nd-theme-toggle) { transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
  html body.nd-v42 :is(.btn, .button, .gen-ratios button, .nd-composer-tool, .chip, .nd-theme-toggle):not(:disabled):not([aria-disabled="true"]):hover {
    background: var(--nd-control-hover) !important;
    box-shadow: var(--nd-shadow) !important;
    transform: translateY(-1px);
  }
  html body.nd-v42 .side-nav.nav a:hover { background: var(--nd-control) !important; color: var(--nd-ink) !important; transform: none; }
  html body.nd-v42 #main-menu .side-nav.nav a.active:hover { background: var(--nd-selected) !important; }
  html body.nd-v42 :is(.btn.primary, .button.lime, .auth-submit, .nai-price-button.primary, #generate-btn):not(:disabled):hover { background: #d5ff87 !important; color: #20300c !important; box-shadow: var(--nd-shadow) !important; }
  html body.nd-v42 :is(.btn.danger, .button.danger, [data-stop]):not(:disabled):hover { background: var(--nd-danger-bg) !important; color: var(--nd-danger) !important; }
  html body.nd-v42 :is(.chip.active, .chip[aria-pressed="true"], .gen-ratios button[aria-pressed="true"], .duration-options button[aria-pressed="true"]):not(:disabled):hover { background: var(--nd-selected) !important; box-shadow: inset 0 -2px var(--nd-brand) !important; }
  html body.nd-v42 .gen-model-option:hover { transform: none; background: var(--nd-control) !important; }
  html body.nd-v42 :is(.btn, .button, .chip):not(:disabled):active { transform: translateY(1px); }
}
@supports not (backdrop-filter: blur(1px)) {
  html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-settings { background: var(--nd-panel) !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html body.nd-v42 :is(.brand, .trailer-orbit::after) { animation: none !important; }
  html body.nd-v42 :is(.btn, .button, .side-nav.nav a, .gen-model-option, .gen-ratios button, .nd-composer-tool, .chip, .nd-theme-toggle, .gen-frame) { transition: none !important; transform: none !important; }
}

html body.nd-v42 :is(.skill-card,.skills-foundation,.community-card,.community-publish){border:0!important;background:var(--nd-surface)!important;box-shadow:0 8px 30px #00000012}html body.nd-v42 .skill-card>.nd-illustration-v42{float:right;width:94px;height:74px;margin:0 0 6px 16px}.community-heading.nd-section-art-v42,.skills-heading.nd-section-art-v42{position:relative;padding-right:120px}.community-heading>.nd-illustration-v42,.skills-heading>.nd-illustration-v42{position:absolute;right:0;top:8px;width:110px;height:90px}@media(max-width:600px){.community-heading.nd-section-art-v42,.skills-heading.nd-section-art-v42{padding-right:75px}.community-heading>.nd-illustration-v42,.skills-heading>.nd-illustration-v42{width:70px;height:60px}}

/* Touch drawers always keep a visible exit and a reachable outside area. */
@media(max-width:900px){
 html body.nd-v42.studio-shell .studio-sidebar{width:min(280px,calc(100vw - 52px))!important;height:100dvh;padding:12px 12px max(12px,env(safe-area-inset-bottom));overflow:hidden}
 html body.nd-v42 .sidebar-head{flex-shrink:0;margin-bottom:12px;min-height:44px}
 html body.nd-v42 .sidebar-caption{display:none}
 html body.nd-v42 .side-nav.nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1;gap:2px}
 html body.nd-v42 .side-nav.nav a{min-height:44px;padding:10px 12px;font-size:14px}
 html body.nd-v42 .sidebar-foot{flex-shrink:0;margin-top:12px;padding-top:12px;font-size:11px}
 html body.nd-v42 .menu-close{width:44px;height:44px;min-width:44px;flex-shrink:0;font-size:26px;position:relative;z-index:2}
 html body.nd-v42 #menu-scrim{left:min(280px,calc(100vw - 52px));width:auto;right:0}
 html body.nd-v42 :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select,[contenteditable=true]){font-size:16px!important}
 html body.nd-v42 .gen-settings-head{position:sticky;top:0;flex-shrink:0;z-index:4;background:var(--nd-glass-strong)!important;padding:10px 16px}
 html body.nd-v42 .gen-settings-close{width:44px;height:44px;min-width:44px;font-size:26px}
 html body.nd-v42 .gen-settings{max-width:calc(100vw - 20px)!important;max-height:100dvh;overscroll-behavior:contain}
 html body.nd-v42 :is(.modal,.nd-media-modal,.pe-modal) [aria-label^="Закрыть"]{min-width:44px;min-height:44px}
}
/* Icon decoration must not reveal controls hidden by a workspace breakpoint. */
@media(min-width:901px){html body.nd-v42.studio-shell :is(.menu-toggle,.menu-close){display:none!important}}
@media(min-width:1180px){html body.nd-v42.studio-shell .gen-settings-close{display:none!important}}
html body.nd-v42 .nd-composer-tools{display:flex!important;align-items:center;flex-wrap:wrap;gap:8px;padding:0!important;border:0!important}
html body.nd-v42 .nd-composer-tools-title{display:none!important}
html body.nd-v42 .nd-composer-tool-grid{display:flex;gap:4px;flex-shrink:0}
html body.nd-v42 .nd-composer-tool{width:36px;min-height:36px;padding:6px}
html body.nd-v42 .nd-composer-library{width:auto;margin:0;padding:8px 12px;font-size:12px}
html body.nd-v42 .nd-composer .gen-assistant{width:auto;margin:0 0 0 auto;font-size:12px}
@media(pointer:coarse){html body.nd-v42 .nd-composer-tool{width:44px;min-height:44px}}
/* Studio material: fine matte grain, one spacing grid, direct labels. */
html body.nd-v42{background-image:url('/surface-grain.svg')!important}
html body.nd-v42 :is(.panel,.profile-grid>section,.admin-card,.skills-foundation,.skill-card,.community-publish,.community-card,.gen-composer,.gen-history-rail,.gen-settings,.upscale-source,.upscale-settings,.connections-main section){background-image:url('/surface-grain.svg')!important;background-repeat:repeat!important;background-blend-mode:soft-light;border-radius:12px}
html body.nd-v42 :is(.page-heading,.skills-heading,.community-heading,.editor-heading,.nd-admin-heading){margin:0 0 20px!important;padding:0!important;align-items:start;gap:16px}
html body.nd-v42 :is(.page-heading,.skills-heading,.community-heading,.editor-heading,.nd-admin-heading) h1{font-size:clamp(25px,2.4vw,34px)!important;line-height:1.15;letter-spacing:-.025em;margin:0 0 6px!important;text-align:left}
html body.nd-v42 :is(.page-heading,.skills-heading,.community-heading,.editor-heading,.nd-admin-heading) p{font-size:14px;line-height:1.45!important;margin:4px 0 0!important;max-width:68ch;text-align:left;text-wrap:wrap}
html body.nd-v42 :is(.skills-heading,.community-heading) .nd-illustration-v42{display:none!important}
html body.nd-v42 :is(.skills-main,.community-main){padding:24px!important}
html body.nd-v42 :is(.skills-grid,.community-feed){gap:16px}
html body.nd-v42 :is(.skills-foundation,.skill-card,.community-publish){padding:20px;margin-bottom:20px}
html body.nd-v42 :is(.skills-foundation,.skill-card,.community-card-copy) :is(p,li,blockquote){line-height:1.45!important}
html body.nd-v42 .skills-foundation h2{font-size:21px;margin:6px 0}
html body.nd-v42 .skills-foundation p{margin:6px 0 10px}
html body.nd-v42 .skill-card{margin:0}
html body.nd-v42 .skill-card h3{font-size:21px;margin:10px 0 6px;line-height:1.2}
html body.nd-v42 .skill-card>p{min-height:0;margin:6px 0 12px}
html body.nd-v42 .skill-card .nd-illustration-v42{float:right;width:64px;height:48px;margin:6px 0 8px 12px}
html body.nd-v42 .skill-info{padding:0}
html body.nd-v42 .skill-info h4{margin:12px 0 4px;letter-spacing:.02em;text-transform:none}
html body.nd-v42 .skill-info p{margin:4px 0}
html body.nd-v42 .skill-card details{clear:both;padding-top:12px;margin-top:12px}
html body.nd-v42 .skills-section-heading{margin-bottom:12px;gap:12px}
html body.nd-v42 .community-card-copy{padding:18px}
html body.nd-v42 .community-card h3{font-size:21px;margin:12px 0 6px}
html body.nd-v42 .community-card p{margin:6px 0}
html body.nd-v42 :is(.skills-foundation,.community-publish)>summary{margin:0;min-height:44px}
html body.nd-v42 .community-publish[open]>summary{margin-bottom:12px}
@media(max-width:600px){html body.nd-v42 :is(.skills-main,.community-main){padding:16px!important}html body.nd-v42 :is(.skills-foundation,.skill-card,.community-publish){padding:16px}html body.nd-v42 :is(.skills-heading,.community-heading){margin-bottom:16px!important}}

/* Media leads the catalogue; details expand without making every card tall. */
html body.nd-v42 .skills-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:start}
html body.nd-v42 .nd-visual-card{padding:0!important;overflow:hidden;min-width:0;margin:0;border-radius:12px}
html body.nd-v42 .nd-card-cover{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--nd-surface-2,#293536);isolation:isolate}
html body.nd-v42 .nd-card-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
html body.nd-v42 .nd-card-body{padding:16px}
html body.nd-v42 .nd-card-body h3{font-size:19px;line-height:1.2;margin:8px 0 6px}
html body.nd-v42 .nd-card-description{font-size:13px;line-height:1.4;margin:0;color:var(--nd-muted);min-height:36px}
html body.nd-v42 .nd-visual-card details{margin:10px 0 0;padding:0;border:0}
html body.nd-v42 .nd-visual-card summary{display:flex;align-items:center;gap:12px;min-height:44px;font-size:13px;cursor:pointer;list-style:none}
html body.nd-v42 .nd-visual-card summary::-webkit-details-marker{display:none}
html body.nd-v42 .nd-visual-card summary::after{content:'↗';margin-left:auto;font-size:20px;transition:transform .2s}
html body.nd-v42 .nd-visual-card details[open]>summary::after{transform:rotate(90deg)}
html body.nd-v42 .skills-foundation{padding:14px 18px!important;margin-bottom:20px}
html body.nd-v42 .skills-foundation h2{font-size:17px;margin:4px 0}
html body.nd-v42 .skills-foundation p{font-size:13px;margin:5px 0 8px;max-width:none}
html body.nd-v42 #prompt-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px;align-items:start}
html body.nd-v42 .prompt-card{background-color:var(--nd-surface);background-image:url('/surface-grain.svg');background-blend-mode:soft-light;border:0!important;box-shadow:var(--nd-shadow)}
html body.nd-v42 .prompt-card pre{margin:12px 0;line-height:1.5;max-height:380px;overflow:auto}
html body.nd-v42 .school-module{padding:8px 0}
html body.nd-v42 .school-module>summary{display:flex;align-items:center;gap:14px;font-size:15px;min-height:60px;list-style:none}
html body.nd-v42 .school-module>summary::-webkit-details-marker{display:none}
html body.nd-v42 .school-module>summary::after{content:'+';margin-left:auto;font-size:22px}
html body.nd-v42 .school-module[open]>summary::after{content:'−'}
html body.nd-v42 .school-module .nd-card-cover{flex:0 0 80px;border-radius:7px}
html body.nd-v42 .school-module p{font-size:14px;line-height:1.5}
html body.nd-v42 .community-news{justify-content:start}
html body.nd-v42 .community-news>.nd-card-cover{aspect-ratio:16/10}
@media(min-width:1500px){html body.nd-v42 .skills-main,html body.nd-v42 .community-main{max-width:1600px}html body.nd-v42 .skills-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html body.nd-v42 .nd-visual-card:hover .nd-card-cover img{transform:scale(1.035)}}
@media(max-width:600px){html body.nd-v42 .nd-card-body{padding:14px}html body.nd-v42 .nd-card-cover{aspect-ratio:16/8}html body.nd-v42 .nd-card-description{min-height:0}}
@media(prefers-reduced-motion:reduce){html body.nd-v42 .nd-card-cover img,html body.nd-v42 .nd-visual-card summary::after{transition:none}}

html body.nd-v42 .skills-foundation>details>summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;min-height:36px;list-style:none}
html body.nd-v42 .skills-foundation>details>summary::-webkit-details-marker{display:none}
html body.nd-v42 .skills-foundation>details>summary:after{content:'+';margin-left:auto;font-size:22px}
html body.nd-v42 .skills-foundation>details[open]>summary:after{content:'−'}
html body.nd-v42 .skills-foundation-label{letter-spacing:0;text-transform:none;font-size:12px}
html body.nd-v42 :is(.skills-filters,.community-filters) .btn[aria-pressed="true"]{background:var(--lime,#c9fa62)!important;color:#182010!important;box-shadow:none!important}

html body.nd-v42 .skills-foundation{margin-top:20px}
@media(max-width:600px){html body.nd-v42 .skills-section-heading{margin-bottom:12px}html body.nd-v42 .skills-section-heading h2{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}html body.nd-v42 .skills-filters{flex-wrap:nowrap;max-width:100%;overflow-x:auto;gap:6px;padding-bottom:2px}html body.nd-v42 .skills-filters .btn{flex:0 0 auto;padding-inline:12px}}

/* v44 audit: quiet type, predictable touch targets, usable learning controls. */
html body.nd-v42 :is(h1,h2,h3){font-family:var(--font,'Golos Text',sans-serif)}
html body.nd-v42 .school-learning-head~.eyebrow{display:none}
html body.nd-v42 .school-prompt-review{width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:24px;border:0;border-radius:16px;background:var(--nd-panel);color:var(--nd-ink);box-shadow:var(--nd-shadow-raised);overflow:auto}
.school-prompt-review::backdrop{background:#0d171cb3;backdrop-filter:blur(3px)}
.school-prompt-review header{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-24px;background:var(--nd-panel);padding:12px 0}
.school-prompt-review header h2{margin:0}.school-prompt-review header button{min-width:44px}
.school-prompt-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.55;max-height:42dvh;overflow:auto;background:var(--nd-field);padding:16px;border-radius:10px}
.school-prompt-review [role=status]{color:var(--nd-danger)}
body.nd-context-open>[data-nd-original-hidden][hidden]{display:none!important}
@media(max-width:900px){
 html body.nd-v42 .top .userbar>a[href^="/admin"]{display:none!important}
 html body.nd-v42 .school-prompt-review{padding:16px}
 .school-prompt-review header{top:-16px}
 html body.nd-v42 .school-progress .muted{font-size:12px}
}
@media(max-width:480px){
 html body.nd-v42 .top .userbar{gap:4px}
 html body.nd-v42 .nd-theme-toggle{width:40px;min-width:40px;padding:8px}
 html body.nd-v42 .school-prompt-actions .btn{flex:1 1 140px}
}
@media(max-width:380px){
 html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-category-bar{gap:4px;padding-inline:10px}
 html[data-theme] body.nd-v42.studio-shell[data-page="create"] .gen-category-bar [role="tab"]{min-width:0;flex:1 1 auto;padding-inline:8px;font-size:13px}
 html body.nd-v42 .gen-category-bar .nd-icon-v42{display:none}
}
