/* EVA console palette. This layer changes chrome, not cover/media pixels. */
:root {
  color-scheme: dark;
  --eva-bg: #111111;
  --eva-panel: #202020;
  --eva-raised: #303030;
  --eva-purple: #dddddd;
  --eva-green: #dddddd;
  --eva-text: #eeeeee;
  --eva-muted: #aaaaaa;
  --eva-quiet: #999999;
  --eva-line: #444444;
  --eva-input: #171717;
  --eva-selected: #333333;
  --eva-purple-text: #dddddd;
  --eva-green-soft: #233019;
  --eva-amber: #f3c27a;
  --eva-amber-soft: #342718;
  --eva-red: #ffaaa4;
  --eva-red-soft: #392020;
  --bg: var(--eva-bg);
  --surface: var(--eva-panel);
  --ink: var(--eva-text);
  --muted: var(--eva-muted);
  --line: var(--eva-line);
  --border: var(--eva-line);
  --green: var(--eva-green);
  --green-soft: var(--eva-green-soft);
  --lime: var(--eva-green);
  --orange: var(--eva-amber);
  --orange-soft: var(--eva-amber-soft);
  --red: var(--eva-red);
  --red-soft: var(--eva-red-soft);
  --shadow: 0 8px 30px #00000030;
  font-family: "Microsoft YaHei UI", "Segoe UI", "Microsoft YaHei", sans-serif;
  color: var(--eva-text);
  background: var(--eva-bg);
}
body { background: var(--eva-bg); color: var(--eva-text); }
::selection { background: #555555; color: #fff; }
* { scrollbar-color: #565656 #202020; scrollbar-width: thin; }

/* Shell and navigation retain the existing spatial layout. */
body .sidebar { background: #161616; border-color: var(--eva-line); }
body .topbar { background: #161616f5; border-color: var(--eva-line); }
body .brand-mark { background: var(--eva-selected); color: var(--eva-green); border: 1px solid #444444; }
body .brand-name { color: var(--eva-text); }
body :is(.brand-sub, .nav-heading, .breadcrumbs, .page-kicker, .srv-eyebrow, .tpl-eyebrow) { color: var(--eva-quiet); }
body .workspace-switch { background: var(--eva-panel); border-color: var(--eva-line); color: var(--eva-text); }
body .workspace-switch .ws-avatar { background: var(--eva-raised); color: var(--eva-purple-text); }
body .nav-item { color: var(--eva-muted); }
body .nav-item:hover { background: var(--eva-raised); color: var(--eva-text); }
body .nav-item.active { background: var(--eva-selected); color: #eeeeee; }
body .nav-item.active::before { background: var(--eva-purple); }
body .nav-count { background: #444444; color: #eeeeee; }
body .demo-card { background: #1d1d1d; border: 1px solid var(--eva-line); }
body .demo-card strong { color: var(--eva-purple-text); }
body .demo-card p { color: var(--eva-muted); }
body .user-profile { border-color: var(--eva-line); }
body .avatar { background: var(--eva-selected); color: var(--eva-purple-text); }
body :is(.user-profile small, .date-caption, .breadcrumbs strong) { color: var(--eva-muted); }
body :is(.global-search, .input-search, .srv-search, .tpl-search, .ct-template-search) { background: var(--eva-input); border-color: var(--eva-line); color: var(--eva-quiet); }
body .keycap { background: var(--eva-raised); color: var(--eva-muted); }
body .icon-button { color: var(--eva-muted); }
body .icon-button:hover { color: var(--eva-purple-text); background: var(--eva-raised); }
body .bell-button::after { background: var(--eva-amber); border-color: #161616; }
body .topbar-separator { background: var(--eva-line); }
body :is(.page-heading h1, .section-title, .task-name, .user-profile strong) { color: var(--eva-text); }
body :is(.page-footer, .small-stat, .task-sub, .stage-caption, .panel-footer) { color: var(--eva-muted); }

/* Shared controls: green is reserved for primary actions, purple for selection. */
body .button { color: var(--eva-text); background: #242424; border-color: #4a4a4a; }
body .button:hover { color: #fff; background: #303030; border-color: #797979; }
body .button.primary { background: var(--eva-green); color: #17220c; border-color: var(--eva-green); font-weight: 650; }
body .button.primary:hover { background: #d0ff84; border-color: #d0ff84; color: #101907; }
body .button.ghost { background: transparent; border-color: transparent; color: var(--eva-muted); }
body .button.ghost:hover { background: var(--eva-raised); color: var(--eva-purple-text); }
body .button.danger { background: var(--eva-red-soft); border-color: #75413d; color: var(--eva-red); }
body .button.danger:hover { background: #4b2727; border-color: #b8665f; color: #ffc2bd; }
body .button.link-button { background: transparent; color: var(--eva-purple-text); }
body :is(.filter-chip, .srv-filter, .ct-category-tabs button) { color: var(--eva-muted); }
body :is(.filter-chip:hover, .srv-filter:hover, .ct-category-tabs button:hover) { background: var(--eva-raised); color: var(--eva-text); }
body :is(.filter-chip.active, .srv-filter.is-active, .ct-category-tabs button.active) { background: var(--eva-selected); color: var(--eva-purple-text); border-color: #636363; }
body .tab-button { color: var(--eva-muted); }
body .tab-button.active { color: var(--eva-purple-text); }
body .tab-button.active::after { background: var(--eva-purple); }
body .tab-button span { color: var(--eva-quiet); }
body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), textarea, select) {
  color: var(--eva-text); background-color: var(--eva-input); border-color: #515151; caret-color: var(--eva-green);
}
body :is(input, textarea)::placeholder { color: var(--eva-quiet); opacity: 1; }
body :is(input, textarea, select):is(:disabled, [readonly]) { background-color: #1e1e1e; color: var(--eva-muted); border-color: var(--eva-line); }
body :is(.global-search, .input-search, .srv-search, .tpl-search, .ct-template-search) input { background: transparent; color: var(--eva-text); }
body input:is([type=checkbox], [type=radio]), body .cover-editor input[type=checkbox], body .srv-live-check input, body .ct-live-confirm input, body .tpl-required input { accent-color: var(--eva-purple); }
body input[type=file] { color: var(--eva-muted); }
body input[type=file]::file-selector-button { color: var(--eva-purple-text); background: #2a2a2a; border: 1px solid #626262; border-radius: 5px; }
body :is(.tpl-editor, .tpl-preview-modal, .h3-editor) input[type=file]::file-selector-button { color: var(--eva-purple-text); background: #2a2a2a; border-color: #626262; }
body :is(input, select, textarea):focus { border-color: var(--eva-purple); box-shadow: 0 0 0 3px #dddddd1b; }
body :is(button, a, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible { outline: 2px solid var(--eva-green); outline-offset: 3px; }
body .ct-file:focus-within { outline: 2px solid var(--eva-green); outline-offset: 3px; }
body :is(.field>label, .field>span:first-child, .check-label, .tpl-editor .field>span, .tpl-preview-modal .field>span) { color: #d4d4d4; }
body :is(.field small, .modal-help, .tpl-hidden-note, .tpl-preview-disclaimer, .tpl-generated-form .field>small) { color: var(--eva-muted); }
body .field input:disabled, body .field select:disabled { background: #1e1e1e; color: var(--eva-muted); }
body option { color: var(--eva-text); background: var(--eva-panel); }

/* Semantic status surfaces remain distinct from navigation and selection. */
body :is(.badge, .badge.neutral) { background: #2b2b2b; color: #c2c2c2; }
body .badge.green { color: #c4ea94; background: var(--eva-green-soft); }
body .badge.orange { color: var(--eva-amber); background: var(--eva-amber-soft); }
body .badge.red { color: var(--eva-red); background: var(--eva-red-soft); }
body .badge.blue { color: #a5c5ee; background: #1c293e; }
body :is(.notice, .live-connection, .run-banner) { color: #c8c8c8; background: #232323; border-color: #424242; }
body :is(.notice.warning, .danger-note, .live-connection.offline, .ct-live-notice, .srv-test-result) { color: var(--eva-amber); background: var(--eva-amber-soft); border-color: #6a5030; }
body :is(.srv-live-error, .tpl-error, .ct-error, .h3-error) { color: var(--eva-red); background: var(--eva-red-soft); border-color: #73403d; }
body :is(.srv-field-error, .field-error, .form-error, .cover-message.is-error) { color: var(--eva-red); }
body .toast { color: #d9efbf; background: #25351e; border: 1px solid #5d8040; box-shadow: 0 8px 30px #0008; }
body .toast.error { background: var(--eva-red-soft); border-color: #934f48; color: #ffd0cb; }

/* Dashboard, queues, review and publishing. Preview media stays unchanged. */
body :is(.panel, .review-card, .account-card, .watch-card) { background: var(--eva-panel); border-color: var(--eva-line); }
body .stat-top { color: var(--eva-muted); }
body .stat-icon { color: var(--eva-purple-text); background: var(--eva-raised); }
body :is(.stat-value small, .stat-foot, .server-meta, .activity-item, .review-card-body p, .review-mini>small) { color: var(--eva-muted); }
body .stat-foot em { color: #c7e89d; }
body .stat-card.accent { color: #f1f1f1; background: linear-gradient(115deg, #333333, #222222); border-color: #616161; }
body .stat-card.accent :is(.stat-top, .stat-foot, .stat-value small) { color: #cccccc; }
body .stat-card.accent .stat-icon { color: #dbdbdb; background: #474747; }
body .stat-card.accent .stat-foot em { color: var(--eva-green); }
body .mini-bars i { background: var(--eva-green); }
body :is(.task-row, .panel-footer, .server-mini-item, .server-dock-footer, .activity-item, .live-list>div, .data-table td, .data-table th) { border-color: var(--eva-line); }
body .progress-track { background: #353535; }
body .progress-track>i { background: var(--eva-green); }
/* Existing demo meters supply inline hues; replace only their chrome fills. */
body .server-mini .progress-track>i[style] { background: #dddddd !important; }
body .platform-icon { background: #262626; color: #d1d1d1; border-color: #444444; }
body .platform-icon.bili { background: #1e2c3c; color: #a9cfea; border-color: #354c65; }
body .server-name-row .dot { color: var(--eva-green); }
body .server-meta span:last-child { color: #cccccc; }
body .server-expiry { color: var(--eva-amber); }
body .workflow-tile { background: #1f1f1f; border-color: #3d3d3d; }
body .workflow-tile:hover { background: #2b2b2b; }
body .workflow-tile-icon { color: var(--eva-purple-text); background: #333333; }
body :is(.workflow-tile small, .workflow-bottom) { color: var(--eva-muted); }
body .workflow-tile>svg { color: var(--eva-purple-text); }
body .activity-item::before { background: var(--eva-purple); border-color: var(--eva-panel); }
body .activity-item strong { color: #d7d7d7; }
body .activity-item small { color: var(--eva-quiet); }
body .data-table th { background: #1c1c1c; color: var(--eva-muted); }
body .data-table tbody tr:hover { background: #222222; }
body .empty-state { color: var(--eva-muted); }
body .empty-state h3 { color: var(--eva-text); }
body :is(.account-logo, .account-logo.douyin, .watch-icon) { background: var(--eva-raised); color: var(--eva-purple-text); }
body :is(.account-card p, .watch-card p, .watch-main code) { color: var(--eva-muted); }
body .pill-label { color: #c7c7c7; background: #222222; border-color: #444444; }
body .live-artifact-placeholder { background: #222222; color: #cdcdcd; }
body .live-json { background: var(--eva-input); color: #c8c8c8; border: 1px solid var(--eva-line); }
body .live-asset { border-color: var(--eva-line); background: #191919; }
body :is(.live-asset small, .live-list small) { color: var(--eva-muted); }

/* Dialog shells and detail timelines. */
body .modal-backdrop { background: #090909d6; backdrop-filter: blur(5px); }
body .drawer-backdrop { background: #090909b5; }
body :is(.modal-dialog, .modal-panel, .drawer) { background: #181818; color: var(--eva-text); border: 1px solid #505050; box-shadow: 0 24px 90px #0009; }
body :is(.modal-header, .modal-footer) { border-color: var(--eva-line); }
body .modal-side { background: #222222; color: var(--eva-muted); border: 1px solid var(--eva-line); }
body .modal-side h3 { color: var(--eva-purple-text); }
body .step-index { background: #363636; color: #dadada; }
body :is(.dropzone, .variant-option) { background: #1e1e1e; border-color: #555555; color: var(--eva-muted); }
body :is(.dropzone svg, .dropzone small) { color: var(--eva-muted); }
body .variant-option:has(input:checked) { background: var(--eva-selected); border-color: var(--eva-purple); color: var(--eva-purple-text); }
body :is(.detail-sub, .detail-kv span, .timeline-step, .timeline-step small) { color: var(--eva-muted); }
body .timeline-step { border-color: #4a4a4a; }
body .timeline-step::before { background: #515151; border-color: #181818; }
body .timeline-step.done::before { background: var(--eva-green); }
body .timeline-step.current::before { background: var(--eva-purple); box-shadow: 0 0 0 3px #3b3b3b; }
body .timeline-step strong { color: #c7c7c7; }
body .timeline-step.current strong { color: var(--eva-purple-text); }
body .stepper-item { color: var(--eva-muted); }
body .stepper-item::before { background: var(--eva-line); }
body .stepper-item>span { background: #2f2f2f; color: var(--eva-muted); }
body .stepper-item.done>span { background: var(--eva-green-soft); color: #c7e69f; }
body .stepper-item.active>span { background: #515151; color: #efefef; }
body .stepper-item.active { color: var(--eva-purple-text); }
body .notification-row>svg { color: var(--eva-amber); }
body :is(.notification-row p, .notification-row small) { color: var(--eva-muted); }

/* Server library, billing cards and connection forms. */
body :is(.srv-stat, .srv-workload, .srv-card-actions, .srv-live-details, .srv-form-section) { border-color: var(--eva-line); }
body :is(.srv-stat-value, .srv-card-title, .srv-test-title) { color: var(--eva-text); }
body .srv-green { color: var(--eva-green); }
body .srv-amber { color: var(--eva-amber); }
body :is(.srv-stat-value small, .srv-stat-label, .srv-demo-note, .srv-region, .srv-specs span, .srv-specs em, .srv-workload, .srv-tags-label, .srv-reminder, .srv-bottom-note, .srv-help, .srv-field-hint, .srv-live-boundary, .srv-live-static-note, .srv-live-address span) { color: var(--eva-muted); }
body .srv-card:hover { border-color: #696969; box-shadow: 0 6px 24px #0003; }
/* The existing warning-card rule is important; preserve its warning semantics. */
body .srv-card-warning { border-color: #806037 !important; }
body :is(.srv-server-icon, .srv-test-icon) { background: #2d2d2d; color: #cccccc; border-color: #474747; }
body .srv-icon-muted { color: var(--eva-muted); background: #252525; border-color: var(--eva-line); }
body :is(.srv-edit-icon, .srv-delete-button) { color: var(--eva-muted); }
body .srv-edit-icon:hover { background: var(--eva-raised); color: var(--eva-purple-text); }
body .srv-delete-button:hover { background: var(--eva-red-soft); color: var(--eva-red); }
body :is(.srv-specs strong, .srv-live-hardware dd, .srv-live-trust-target) { color: #d2d2d2; }
body .srv-workload>span:first-child { color: #c3c3c3; }
body :is(.srv-tag, .srv-tag-node) { background: #232323; border-color: #414141; color: #c3c3c3; }
body .srv-expiry { background: #212121; color: var(--eva-muted); }
body .srv-expiry-warning { background: var(--eva-amber-soft); color: var(--eva-amber); }
body .srv-small-dot { background: #9d9d9d; }
body .srv-empty { border-color: #4e4e4e; }
body :is(.srv-empty>svg, .srv-empty h3) { color: var(--eva-purple-text); }
body .srv-empty p { color: var(--eva-muted); }
body .srv-form-section h3 { color: #d8d8d8; }
body .srv-live-meter { background: #232323; border-color: #444444; color: #d7d7d7; }
body .srv-live-meter strong { color: var(--eva-green); }
body :is(.srv-live-meter span, .srv-live-meter p, .srv-live-meter small, .srv-live-hardware dt, .srv-live-hardware small, .srv-live-details) { color: var(--eva-muted); }
body :is(.srv-live-meter b, .srv-live-details summary) { color: var(--eva-purple-text); }
body :is(.srv-live-fingerprint, .srv-live-paste, .srv-live-form-note) { background: #1f1f1f; border-color: var(--eva-line); color: #c9c9c9; }
body :is(.srv-live-form .field>span, .srv-live-check) { color: #cfcfcf; }
body .srv-live-form input:disabled { background: #222222; color: var(--eva-muted); }
body .srv-live-form .srv-modal-actions { background: linear-gradient(transparent, #181818 15%); }

/* Template library and editor. */
body .tpl-intro { background: linear-gradient(110deg, #272727, #1b1b1b); border-color: #4d4d4d; }
body :is(.tpl-intro-mark, .tpl-kind, .tpl-kind-product, .tpl-kind-talk) { background: #383838; color: var(--eva-purple-text); }
body .tpl-intro strong { color: #e1e1e1; }
body .tpl-intro p { color: var(--eva-muted); }
body .tpl-card:hover { border-color: #6b6b6b; box-shadow: 0 8px 24px #0004; transform: none; }
body :is(.tpl-card h2, .tpl-preview-heading h3) { color: var(--eva-text); }
body :is(.tpl-card-type, .tpl-section-label, .tpl-section-header h3) { color: var(--eva-purple-text); }
body :is(.tpl-card-type span, .tpl-card-description, .tpl-card-stats, .tpl-workflow-state, .tpl-footnote, .tpl-field-index, .tpl-field-note, .tpl-preview-heading p, .tpl-required, .tpl-hidden-note, .tpl-cover-state) { color: var(--eva-muted); }
body :is(.tpl-card-stats, .tpl-tabs, .tpl-editor-footer, .tpl-field-details, .tpl-advanced, .tpl-preview-outputs, .tpl-preview-modal-footer) { border-color: var(--eva-line); }
body .tpl-card-stats strong { color: #e3e3e3; }
body .tpl-dot { background: #757575; }
body .tpl-dot.loaded { background: var(--eva-green); }
body .tpl-tabs button { color: var(--eva-muted); }
body .tpl-tabs button.active { color: var(--eva-purple-text); border-bottom-color: var(--eva-purple); }
body :is(.tpl-field-card, .tpl-output-card) { background: #1d1d1d; border-color: #444444; }
body :is(.tpl-field-head strong, .tpl-output-card .field>span) { color: #d8d8d8; }
body .tpl-remove { color: #d1a3ad; }
body .tpl-remove:hover { color: var(--eva-red); }
body :is(.tpl-field-details summary, .tpl-candidates summary, .tpl-advanced summary, .tpl-candidate-list strong) { color: var(--eva-purple-text); }
body :is(.tpl-candidates, .tpl-number-rules, .tpl-tip, .tpl-preview-note, .tpl-supporting-note) { background: #262626; color: #c8c8c8; }
body :is(.tpl-tip strong, .tpl-preview-outputs) { color: #d8d8d8; }
body :is(.tpl-tip p, .tpl-candidates summary span, .tpl-candidate-list small, .tpl-advanced summary span) { color: var(--eva-muted); }
body .tpl-candidate-list>div { border-color: #404040; }
body :is(.tpl-upload, .tpl-preview-file) { background: #1f1f1f; border-color: #646464; color: #cdcdcd; }
body :is(.tpl-upload p, .tpl-preview-file small, .tpl-preview-file input) { color: var(--eva-muted); }
body :is(.tpl-fixed-value, .tpl-preview-boolean) { background: #222222; border-color: #434343; color: #c1c1c1; }
body :is(.tpl-locked, .tpl-preview-outputs label small) { background: #333333; color: #d0d0d0; }
body .tpl-preview-boolean input { accent-color: var(--eva-purple); }

/* New template grouping / reversible deletion keeps ordinary list density. */
.tpl-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 27px 0 16px; }
.tpl-section-heading h2 { color: var(--eva-text); font-size: 16px; line-height: 1.5; margin: 0; }
.tpl-section-copy, .tpl-section-copy p { color: var(--eva-muted); font-size: 12px; line-height: 1.7; margin: 5px 0 0; }
.tpl-card-tools { display: flex; align-items: center; gap: 7px; margin-left: auto; }
.tpl-protocol-section { margin-bottom: 28px; }
.tpl-library-section { border-top: 1px solid var(--eva-line); padding-top: 1px; }
body .tpl-delete-button { min-height: 32px; min-width: 44px; color: #d6a1aa; background: transparent; border-color: transparent; }
body .tpl-delete-button:hover { color: var(--eva-red); background: var(--eva-red-soft); }
body .tpl-delete-button:focus-visible { outline-color: var(--eva-red); color: var(--eva-red); background: var(--eva-red-soft); }
.tpl-trash-list { display: grid; gap: 10px; }
.tpl-trash-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 15px; border: 1px solid var(--eva-line); border-radius: 9px; background: #212121; }
.tpl-trash-row strong { color: var(--eva-text); overflow-wrap: anywhere; }
.tpl-trash-row p, .tpl-trash-row small { display: block; color: var(--eva-muted); font-size: 11px; line-height: 1.8; margin-top: 5px; }
.tpl-delete-dialog { color: var(--eva-muted); font-size: 12px; line-height: 1.9; }
.tpl-delete-name { color: var(--eva-text); background: #262626; border: 1px solid var(--eva-line); border-radius: 8px; padding: 13px 15px; margin: 12px 0; overflow-wrap: anywhere; }
.tpl-delete-impact { color: var(--eva-muted); }
.tpl-delete-footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--eva-line); }

/* Cover configuration: surrounding checkerboard changes, canvas does not. */
body :is(.cover-eyebrow, .cover-summary, .cover-heading p, .cover-asset-index, .cover-asset-card small, .cover-number small, .cover-preview-meta, .cover-message, .cover-scope-note) { color: var(--eva-muted); }
body :is(.cover-heading h3, .cover-asset-card strong, .cover-preview-title strong) { color: var(--eva-text); }
body :is(.cover-enable, .cover-section-title, .cover-preview-toggles label) { color: #d1d1d1; }
body :is(.cover-section-title span, .cover-number-control>span) { color: var(--eva-muted); }
body :is(.cover-asset-card, .cover-preview-panel) { background: #1e1e1e; border-color: #424242; }
body .cover-asset-card.selected { background: #2c2c2c; border-color: #787878; }
body .cover-orientations { background: #131313; border: 1px solid var(--eva-line); }
body .cover-orientations button { color: var(--eva-muted); }
body .cover-orientations button.active { background: #383838; color: #e0e0e0; box-shadow: none; }
body .cover-default-note { background: #262626; color: #bdbdbd; }
body .cover-canvas-stage { background-color: #161616; background-image: linear-gradient(45deg,#252525 25%,transparent 25%),linear-gradient(-45deg,#252525 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#252525 75%),linear-gradient(-45deg,transparent 75%,#252525 75%); }
body .cover-number input:invalid { border-color: var(--eva-red); }
body :is(.cover-rules, .cover-scope-note) { border-color: var(--eva-line); color: var(--eva-muted); }
body .cover-rules summary { color: var(--eva-purple-text); }

/* Task creation wizard. */
body :is(.ct-steps button, .ct-step-heading p, .ct-template-category>span, .ct-template-desc, .ct-template-metrics, .ct-template-picked, .ct-footer>span, .ct-selected-template small, .ct-section-label span, .ct-confirm-name>span, .ct-help, .ct-output small, .ct-auxiliary small) { color: var(--eva-muted); }
body .ct-steps button::after { background: var(--eva-line); }
body .ct-steps button>span { background: #272727; border-color: #4b4b4b; color: var(--eva-muted); }
body .ct-steps button.current { color: var(--eva-purple-text); }
body .ct-steps button.current>span { background: #575757; border-color: #969696; color: #f2f2f2; }
body .ct-steps button.complete>span { background: var(--eva-green-soft); border-color: #526a38; color: #d2eab0; }
body .ct-step-heading>span { color: var(--eva-purple-text); }
body .ct-step-heading h3 { color: var(--eva-text); }
body .ct-template { background: #1b1b1b; border-color: #404040; }
body .ct-template:hover { background: #252525; border-color: #757575; }
body .ct-template.selected { background: #303030; border-color: var(--eva-purple); box-shadow: inset 0 0 0 1px #dddddd; }
body .ct-template-icon { background: #363636; color: var(--eva-purple-text); }
body .ct-template-category { color: var(--eva-purple-text); }
body .ct-template>strong { color: var(--eva-text); }
body .ct-template-metrics { border-color: var(--eva-line); }
body .ct-template.selected .ct-template-picked { color: #dedede; }
body :is(.ct-selection-note, .ct-selected-template, .ct-locked, .ct-hidden-summary, .ct-no-platform) { background: #262626; border-color: #444444; color: #c4c4c4; }
body :is(.ct-selected-template strong, .ct-section-label, .ct-summary h4, .ct-output strong) { color: #dbdbdb; }
body :is(.ct-field em, .ct-task-name em) { color: var(--eva-amber); }
body .ct-field-tag { color: #cecece; background: #343434; }
body .ct-file { background: #1c1c1c; border-color: #5f5f5f; }
body .ct-file.has-file { background: #2a2a2a; border-color: #757575; }
body :is(.ct-file-icon, .ct-file-picker strong) { color: #d5d5d5; }
body .ct-file-picker small { color: var(--eva-muted); }
body .ct-file-action { color: #d6d6d6; background: #373737; border-color: #616161; }
body .ct-remove-file { color: #d8a5a7; }
body .ct-field .ct-composition { color: #b9b9b9; background: #1d1d1d; }
body :is(.ct-toggle-label, .ct-advanced summary) { color: #d3d3d3; }
body .ct-advanced summary span { color: var(--eva-muted); }
body .ct-summary { background: #222222; border-color: #454545; }
body :is(.ct-summary-kicker, .ct-summary dt, .ct-summary h5, .ct-summary-note) { color: var(--eva-muted); }
body .ct-summary dd { color: #d7d7d7; }
body .ct-summary-divider { background: var(--eva-line); }
body :is(.ct-module-chips span, .ct-file-summary>span) { background: #313131; color: #cbcbcb; }
body :is(.ct-output, .ct-platform-options label) { background: #1e1e1e; border-color: #4d4d4d; color: #c9c9c9; }
body :is(.ct-output.selected, .ct-platform-options label:has(input:checked)) { background: #313131; border-color: #8e8e8e; }
body .ct-output-icon { color: #c3c3c3; }
body .ct-auxiliary { background: #222222; color: #bebebe; }
body .ct-request-preview summary { color: var(--eva-purple-text); }
body .ct-request-preview pre { background: var(--eva-input); border-color: #404040; color: #c6c6c6; }
body .ct-live-confirm { background: #24301c; border-color: #57713d; color: #d6e8bb; }

/* H3 contract editor, neutral requested/actual geometry and audio timeline. */
/* Original H3 card declarations use important; override those two only. */
body .h3-contract-card { background: linear-gradient(140deg,#282828,#191919) !important; border-color: #646464 !important; }
.tpl-protocol-section>.tpl-grid { grid-template-columns: minmax(0,1fr); }
.tpl-protocol-section .h3-contract-card { display: grid; grid-template-columns: 46px minmax(0,1fr) 260px; gap: 10px 20px; min-height: 0; }
.tpl-protocol-section .h3-contract-card .tpl-card-top { display: contents; }
.tpl-protocol-section .h3-contract-card .tpl-kind { grid-column: 1; grid-row: 1 / 4; align-self: start; }
.tpl-protocol-section .h3-contract-card .tpl-card-top>.badge { grid-column: 3; grid-row: 1; justify-self: end; }
.tpl-protocol-section .h3-contract-card .tpl-card-type { grid-column: 2; grid-row: 1; margin: 0; }
.tpl-protocol-section .h3-contract-card h2 { grid-column: 2; grid-row: 2; margin: 0; }
.tpl-protocol-section .h3-contract-card .tpl-card-description { grid-column: 2; grid-row: 3; min-height: 0; margin: 0; }
.tpl-protocol-section .h3-contract-card .tpl-workflow-state { grid-column: 2; grid-row: 4; padding: 0; }
.tpl-protocol-section .h3-contract-card .tpl-card-stats { grid-column: 3; grid-row: 2 / 4; justify-content: flex-end; align-items: center; border: 0; padding: 0; }
.tpl-protocol-section .h3-contract-card .tpl-use-button { grid-column: 3; grid-row: 4; margin: 0; align-self: end; }
body .h3-note { background: #272727; border-color: #4d4d4d; color: #d0d0d0; }
body .h3-section { background: #1c1c1c; border-color: #424242; }
body .h3-section-heading>span { background: #363636; color: #dadada; }
body .h3-section-heading h3 { color: #dcdcdc; }
body :is(.h3-section-heading p, .h3-field small, .h3-size-result small, .h3-helper, .h3-footer>span, .h3-loading) { color: var(--eva-muted); }
body .h3-field>span { color: #d7d7d7; }
body .h3-field em { color: var(--eva-amber); }
body .h3-size-result { background: #232323; border-color: #424242; }
body .h3-size-result>span { color: var(--eva-muted); }
body .h3-size-result strong { color: var(--eva-green); }
body .h3-readonly { background: #262626; color: #cccccc; }
body :is(.h3-warning, .h3-pending) { background: var(--eva-amber-soft); color: var(--eva-amber); }
body :is(.h3-details, .h3-footer) { border-color: var(--eva-line); }
body .h3-details summary { color: var(--eva-purple-text); }
body .h3-details pre { background: var(--eva-input); border-color: #434343; color: #c5c5c5; }
body .h3-track { background: #343434; }
body .h3-selection-bar { background: #5a5a5a; }
body .h3-track input[type=range]::-webkit-slider-thumb { background: var(--eva-green); border-color: #26361a; box-shadow: 0 1px 3px #0005; }
body .h3-track input[type=range]::-moz-range-thumb { background: var(--eva-green); border-color: #26361a; }
body .h3-track input[type=range]:focus-visible::-webkit-slider-thumb { outline-color: var(--eva-green); }
body :is(.h3-timeline-legend, .h3-time-labels) { color: var(--eva-muted); }
body .h3-timeline-legend strong { color: #d1d1d1; }
body .h3-editor .h3-reset-local { color: #c4c4c4; }

/* Small screens and reduced motion: no new layout or animation dependencies. */
@media (max-width: 760px) {
  body .sidebar { box-shadow: 12px 0 40px #0008; }
  .tpl-section-heading { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
  .tpl-section-copy { min-width: 0; }
  .tpl-section-copy p { font-size: 11px; }
  .tpl-trash-row { align-items: flex-start; flex-wrap: wrap; }
  .tpl-trash-row>div { min-width: 0; }
  .tpl-trash-row .button { margin-left: auto; }
  .tpl-delete-footer { flex-wrap: wrap; }
  body :is(.button, .icon-button, summary) { touch-action: manipulation; }
  .tpl-protocol-section .h3-contract-card { display: flex; gap: 0; }
  .tpl-protocol-section .h3-contract-card .tpl-card-top { display: flex; margin-bottom: 19px; }
  .tpl-protocol-section .h3-contract-card .tpl-card-type { margin-bottom: 8px; }
  .tpl-protocol-section .h3-contract-card h2 { margin-bottom: 12px; }
  .tpl-protocol-section .h3-contract-card .tpl-card-description { margin-bottom: 18px; }
  .tpl-protocol-section .h3-contract-card .tpl-card-stats { justify-content: flex-start; padding-bottom: 15px; }
  .tpl-protocol-section .h3-contract-card .tpl-workflow-state { padding: 12px 0; }
  .tpl-protocol-section .h3-contract-card .tpl-use-button { align-self: stretch; }
}
@media (max-width: 720px) {
  body .sidebar:not(.open) { transform: translateX(-100%); visibility: hidden; pointer-events: none; }
  body .sidebar.open { transform: translateX(0); visibility: visible; pointer-events: auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
