:root {
  --app-font: "Avenir Next", "Helvetica Neue", sans-serif;
  --app-text-size: 14px;
  --app-heading-size: 24px;
  --app-text-weight: 400;
  --app-heading-weight: 700;
  --app-entry-background: #faf9f6;
  --app-control-weight: 600;
}

.platform-shell :is(.experience-navigation, .workspace-toolbar, .report-header-actions, .sidebar-actions, .right-controls, .panel-action-stack, .report-library-view) :is(button, input, select, textarea, summary, span, a),
.platform-shell .styled-select-trigger,
.styled-select-menu :is(button, span, [role="option"]) {
  font-weight: var(--app-control-weight) !important;
}
.platform-shell .report-library-view .report-workspace-link {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 4px 10px;
  border: 1px solid var(--workspace-border);
  border-radius: var(--workspace-radius);
  color: var(--workspace-text);
  text-decoration: none;
}
.platform-shell .report-library-view .report-workspace-link:hover {
  background: var(--workspace-accent-soft);
}

:is(.platform-shell, .auth-shell, .research-image-folder) :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="color"]),
  textarea, select, .styled-select-trigger, .query-input-wrap
) {
  background-color: var(--app-entry-background) !important;
  color: #243247 !important;
}
.platform-shell .query-input-wrap > button,
.platform-shell .query-input-wrap > .query-attachment-picker {
  color: #52647b !important;
}
.platform-shell.chat-experience .query-input-wrap {
  background-color: var(--workspace-surface) !important;
}
.platform-shell.chat-experience .query-input-wrap textarea {
  background-color: transparent !important;
  color: var(--workspace-text) !important;
}
.platform-shell.chat-experience .query-input-wrap > :is(button, .query-attachment-picker) {
  color: var(--workspace-text) !important;
}

/* This shared policy overrides legacy screen-specific type scales. */
:is(.platform-shell, .auth-shell, .research-image-folder),
:is(.platform-shell, .auth-shell, .research-image-folder) :where(div, section, article, header, footer, nav, aside, main, form, fieldset, legend, p, span, small, time, a, button, input, select, textarea, label, summary, li, dt, dd, th, td, h1, h2, h3, h4, h5, h6, strong, b, em, pre, code) {
  font-family: var(--app-font) !important;
  font-size: var(--app-text-size) !important;
  font-weight: var(--app-text-weight) !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

:is(.platform-shell, .auth-shell, .research-image-folder) :is(h1, h2, h3, h4, h5, h6, label, legend, th, strong, b),
.platform-shell :is(.workspace-panel-heading, .recent-queries-heading h3, .report-section > summary),
.research-image-folder .select-all-control {
  font-weight: var(--app-heading-weight) !important;
}

:is(.platform-shell, .auth-shell, .research-image-folder) :is(h1, h2, h3, h4, h5, h6, legend, th),
.platform-shell :is(.workspace-panel-heading, .report-section > summary),
.auth-shell .eyebrow {
  text-transform: uppercase !important;
}

.platform-shell :is(.report-library-heading h1, .gallery-modal h2, .recycle-bin-modal h2, .config-modal > h2, .chat-welcome h1),
.auth-shell :is(.auth-hero h1, .auth-card h1, .auth-card h2, .preview-entry h2),
.research-image-folder .gallery-brand-header h1 {
  font-size: var(--app-heading-size) !important;
  line-height: 1.25 !important;
}

.platform-shell :is(.results-panel, .report-library, .gallery-modal, .recycle-bin-modal, .config-modal) :where(p, small, time, a, label, summary, th, td):not(.error):not([role="alert"]) {
  color: var(--workspace-text);
}

.platform-shell .report-aligned-content {
  max-width: none;
  margin: 0;
}
.platform-shell:not(.chat-experience) .workspace .results-content {
  box-sizing: border-box;
  width: 100%;
  max-width: 78ch;
  margin-inline: auto;
  text-align: left;
}
.platform-shell:not(.chat-experience) .workspace .results-panel:not(.image-workspace-result) .results-content {
  max-width: none;
}
.platform-shell:not(.chat-experience) .workspace .report-aligned-content section {
  max-width: none;
}
.platform-shell .global-header > .global-header-copy { grid-column: 1; min-width: 0; }
.platform-shell .global-header > .global-mark { grid-column: 2; grid-row: 1; }
.platform-shell .global-header .platform-heading { white-space: normal; overflow-wrap: anywhere; }
.platform-shell .global-header > .banner-workspace-link { grid-column: 3; grid-row: 1; justify-self: end; color: var(--workspace-dark-text); }
.platform-shell .results-panel :is(.report-header-actions, .raw-report-document) {
  margin-left: 0;
  margin-right: 0;
}
.platform-shell .results-panel .report-header-actions {
  gap: 6px;
}
.platform-shell .results-panel .report-header-actions :is(button, select, .report-output-selector),
.platform-shell .image-action-buttons button {
  border: 1px solid #c8d3e1;
  border-radius: 4px;
  background: #dfe7f033;
  box-shadow: none;
}
.platform-shell .results-panel .report-header-actions :is(button, select, .report-output-selector):hover,
.platform-shell .image-action-buttons button:hover {
  background: #dce6f3;
}
.platform-shell :is(.query-bulk-actions button, .query-attachment-picker, .chat-send-button, .query-stop-button) {
  border: 0;
  box-shadow: none;
}
.platform-shell .query-bulk-actions button,
.platform-shell .query-attachment-picker {
  font-size: 20px !important;
}
.platform-shell :is(.error, [role="alert"]) {
  color: #a12c3a;
}
.platform-shell .report-header-actions .query-context { margin: 0; }
.platform-shell .report-header-actions .query-context > summary {
  height: 28px;
  padding: 3px 8px;
  border: 1px solid #c8d3e1;
  border-radius: 4px;
  background: #dfe7f033;
  cursor: pointer;
}
.platform-shell .query-context-content {
  flex-basis: 100%;
  padding: 8px 0;
}
.platform-shell .report-header-actions .query-context[open] { flex-basis: 100%; }
.platform-shell .image-output { container-type: inline-size; grid-template-columns: minmax(0, 1fr); }
.platform-shell .image-output-actions { min-width: 0; }
.platform-shell .image-output .image-action-buttons {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  width: min(252px, 100cqi);
  max-width: 100%;
  gap: 4px;
}
.platform-shell .image-action-buttons .output-library-controls { display: contents; }
.platform-shell .image-action-buttons .report-query-picker { min-width: 0; }
.platform-shell .image-output .image-action-buttons :is(button, .report-output-selector) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 26px;
  min-height: 26px;
  padding: 0 3px;
  border: 1px solid #c8d3e1;
  border-radius: 4px;
  background: #dfe7f033;
  white-space: normal;
  text-align: center;
}
.platform-shell .image-prompt { margin: 0; }
@container (min-width: 732px) {
  .platform-shell .image-output .image-action-buttons { grid-template-columns: repeat(8, minmax(0, 1fr)); width: min(252px, 100cqi); }
  .platform-shell .image-output .image-action-buttons :is(button, .report-output-selector) { white-space: nowrap; }
}
.platform-shell .image-output .image-action-buttons :is(button, .report-output-selector) {
  line-height: 11px !important;
}
.platform-shell .right-controls .workspace-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}
.platform-shell .right-controls .workspace-toolbar > .styled-select,
.platform-shell .right-controls .workspace-toolbar .styled-select-trigger {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.platform-shell .right-controls .workspace-toolbar .styled-select-trigger:is(:focus, :active, [aria-expanded="true"]) {
  outline: none;
  box-shadow: none;
  border-color: var(--workspace-border);
  background: var(--workspace-surface);
}
.platform-shell .right-controls .workspace-toolbar .styled-select-trigger:focus-visible {
  outline: 1px solid var(--workspace-muted);
  outline-offset: 2px;
}
.platform-shell .workspace-toolbar .styled-select-trigger { display: flex; align-items: center; gap: 8px; }
.platform-shell .workspace-toolbar .styled-select-icon { display: inline-flex; flex: 0 0 16px; }
.platform-shell .workspace-toolbar .styled-select-trigger > span:not(.styled-select-icon):not(.styled-select-arrow) { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.platform-shell { --workspace-section-radius: 12px; }
.platform-shell { width: 100%; max-width: 100%; min-width: 0; }
.platform-shell > :is(.sidebar, .workspace, .chat-detail-panel) { min-width: 0; box-sizing: border-box; }
.platform-shell .inline-chat-thread { min-width: 0; overflow-wrap: anywhere; }
@media (min-width: 761px) {
  .platform-shell:not(.chat-experience) > .sidebar { grid-column: 1; }
  .platform-shell:not(.chat-experience) > .workspace { grid-column: 2; }
  .platform-shell:not(.chat-experience) > .chat-detail-panel { grid-column: 3; }
  .platform-shell.research-start:not(.chat-experience) > .chat-detail-panel { grid-column: 2 / -1; }
}
.platform-shell > :is(.sidebar, .workspace, .chat-detail-panel, .workspace-action-bar),
.platform-shell .sidebar-content,
.platform-shell .workspace .results-panel {
  border-radius: var(--workspace-section-radius);
}
.platform-shell > .global-header {
  border-radius: 0 0 var(--workspace-section-radius) var(--workspace-section-radius);
}
.platform-shell::after {
  border-radius: var(--workspace-section-radius) var(--workspace-section-radius) 0 0;
}
.platform-shell.chat-experience:has(.chat-history-drawer) .chat-history-drawer {
  position: absolute;
  min-height: 0;
  margin: 0;
  background: var(--workspace-background);
}
@media (max-width: 760px) {
  .platform-shell:not(.chat-experience) > .global-header { grid-template-columns: minmax(0, 1fr) 142px minmax(0, 1fr); }
  .platform-shell .global-header-copy .platform-heading { overflow-wrap: anywhere; white-space: normal; }
  .platform-shell .image-output .image-action-buttons { width: min(252px, 100%); }
  .platform-shell.chat-experience .chat-history-drawer { bottom: auto; max-height: 50dvh; }
}

.platform-shell .query-attachments { align-items: center; gap: 6px; margin: 8px 0; }
.platform-shell .workspace > section.research-query-controls { margin-bottom: 13px; }
.platform-shell .workspace > .research-query-controls::after { content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 1px; background: #b6bec9; pointer-events: none; }
.platform-shell:not(.chat-experience) section.research-query-controls .query-input-wrap > textarea.query-field { min-height: calc(1lh + 8px); max-height: calc(1lh + 8px); align-self: center; text-align: left; }
.platform-shell:not(.chat-experience) .workspace .conversation-turn > .results-panel,
.platform-shell:not(.chat-experience) .workspace > .center-results-scroll > .results-panel { padding-top: 4px; }
.platform-shell .report-title-row { display: flex; align-items: center; flex-wrap: nowrap; justify-content: flex-start; gap: 8px; margin-bottom: 8px; }
.platform-shell .report-title-row > :is(h1, h2) { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.platform-shell .results-panel .report-title-row > .report-header-actions { flex: none; width: auto; min-width: 0; max-width: 100%; margin: 0; }
.platform-shell .image-empty-state { padding-top: 0; }
.platform-shell .image-empty-state > .regenerate-image-button { margin: 0 0 8px; }
.platform-shell :is(.sidebar, .chat-history-drawer) .history-question .history-question-select,
.platform-shell :is(.sidebar, .chat-history-drawer) .history-question .history-turn-select > span { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.platform-shell :is(.sidebar, .chat-history-drawer) .chat-list .chat-row > button.chat-item { height: auto; white-space: normal; overflow: visible; }
.platform-shell .chat-item .chat-item-title { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .platform-shell .report-title-row { align-items: flex-start; }
  .platform-shell .report-title-row .report-header-actions .report-output-selector { width: 40px; min-width: 40px; max-width: 40px; padding: 4px; justify-content: center; }
  .platform-shell .report-title-row .report-output-selector > span:not(.styled-select-icon):not(.styled-select-arrow) { display: none; }
}
.platform-shell .query-attachments a { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 28px; width: auto; height: 28px; border: 1px solid var(--workspace-border); border-radius: 4px; background: transparent; padding: 4px; box-sizing: border-box; text-decoration: none; }
.platform-shell .query-attachments a:hover { background: var(--workspace-accent-soft); }
.attachment-badge { display: inline-flex; align-items: center; vertical-align: middle; flex: none; margin-right: 4px; color: var(--workspace-muted, #596a81); }
.attachment-badge svg { display: block; width: 16px; height: 16px; }
.platform-shell .attachment-image-library { margin: 12px 0; color: var(--workspace-text); }
.platform-shell .attachment-image-card .image-card-actions { position: static; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.platform-shell .attachment-image-card .image-card-preview img { width: 100%; height: 180px; object-fit: contain; }
.platform-shell .attachment-image-card .attachment-badge { display: inline-flex; }
.platform-shell .attachment-image-card .image-card-actions :is(a, button) { width: auto; height: auto; min-width: 0; padding: 4px; background: transparent; color: var(--workspace-text); font: inherit; }
.platform-shell .attachment-image-dialog { width: min(1000px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 16px; border: 1px solid var(--workspace-border); border-radius: 6px; background: var(--workspace-surface); color: var(--workspace-text); }
.platform-shell .attachment-image-dialog::backdrop { background: #090d1699; }
.platform-shell .attachment-image-dialog .original-image-link img { display: block; max-width: 100%; max-height: 65dvh; margin: 12px auto; object-fit: contain; }
.platform-shell .attachment-image-dialog :is(header, footer) { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.platform-shell .attachment-image-dialog header > span { min-width: 0; overflow-wrap: anywhere; }
.platform-shell .attachment-image-dialog :is(button, a) { border: 1px solid var(--workspace-border); border-radius: 4px; background: var(--workspace-surface); color: var(--workspace-text); padding: 4px 8px; font: inherit; }
.platform-shell .attachment-image-dialog :is(button, a):hover { background: var(--workspace-accent-soft); }
.research-image-folder .attachment-image-card .image-actions { flex-wrap: wrap; }
.research-image-folder .attachment-image-card .image-actions a { font-size: 13px; padding: 2px 0; }
.research-image-folder .attachment-image-card .attachment-badge { margin: 0 4px 0 0; }
@media (max-width: 600px) {
  .research-image-folder #image-grid.list-view .attachment-image-card .image-open { grid-column: 2 / -1; }
  .research-image-folder #image-grid.list-view .attachment-image-card .image-actions { grid-column: 2 / -1; grid-row: 3; }
}
.platform-shell .sidebar-actions .chat-search > input { padding-right: 32px; }
.platform-shell .sidebar-actions .chat-search > button { position: absolute; top: 50%; right: 2px; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 26px; min-width: 26px; height: 26px; min-height: 26px; padding: 0; margin: 0; line-height: 1; }
.platform-shell .report-conversation > summary > .report-conversation-rename { flex: none; margin-left: auto; min-height: 28px; padding: 3px 8px; border: 0; border-radius: 4px; background: transparent; color: var(--workspace-text); font: inherit; }
.platform-shell .report-conversation > summary > .report-conversation-rename:hover { background: var(--workspace-accent-soft); }
.platform-shell .report-library-table .report-attachment-row td { padding: 4px 8px; border-top: 0; background: transparent; }
.platform-shell .report-library .report-library-table .report-attachment-row td > .report-attachment-name { display: flex; align-items: baseline; gap: 8px; padding-left: 20px; font-size: 13px; font-weight: 400; color: var(--workspace-text); overflow-wrap: anywhere; }
.platform-shell .report-attachment-branch, .platform-shell .report-attachment-name small { color: var(--workspace-muted); font-size: 11px; }
.platform-shell .report-attachment-name small { flex: none; }
.platform-shell .report-attachment-row .report-library-actions a { color: var(--workspace-text); font-size: 13px; padding: 3px 8px; }
.platform-shell .report-header-actions > .query-attachments { margin: 0; flex: 0 1 auto; }
.platform-shell .image-action-buttons > .query-attachments { display: flex; flex: 0 1 auto; flex-wrap: wrap; align-items: center; gap: 6px; max-width: 100%; margin: 0; }
.platform-shell .image-action-buttons > .query-attachments a { color: var(--workspace-text); }
.platform-shell .workspace > .question-branches { width: min(100%, 1320px); max-width: 1320px; margin-inline: auto; }
.platform-shell.research-start:not(.preview-platform) > .workspace { overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: auto; }
.platform-shell.research-start .workspace > .question-branches { flex: 0 0 auto; margin: 0 auto; padding: 16px 0 32px; box-sizing: border-box; }
.platform-shell .question-branches .question-branches-kicker { margin: 0 0 28px; color: var(--workspace-text); opacity: 1; }
.platform-shell .question-branches .question-branches-visual { max-width: 560px; margin-inline: auto; }
.platform-shell .question-branches .question-branches-story { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; width: 100%; max-width: 860px; box-sizing: border-box; color: #41464c; }
.platform-shell .question-branches .question-branches-kicker { font-size: clamp(16px, 1.5vw, 22px) !important; font-weight: 400 !important; color: #34383d; }
.platform-shell .question-branches .question-branches-story :is(h2, h3) { font-size: clamp(16px, 1.3vw, 18px) !important; font-weight: 500 !important; color: #34383d; }
.platform-shell .question-branches .question-image-description { margin-top: 0; padding-top: 0; border-top: 0; }
.platform-shell .question-branches .question-branch-title { font-weight: 500; fill: #34383d; }
.platform-shell .question-branches .question-branches-story p { font-size: clamp(14px, 1.2vw, 16px) !important; line-height: 1.75 !important; }
.workspace-help-dialog { box-sizing: border-box; width: min(680px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 24px; overflow-y: auto; border: 1px solid #c8d3e1; border-radius: 12px; background: #edf2f7; color: #243247; font: 14px/1.6 var(--ui-font, system-ui, sans-serif); }
.workspace-help-dialog::backdrop { background: rgb(9 15 24 / .65); }
.workspace-help-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.workspace-help-dialog h2 { margin: 0; font-size: 20px; font-weight: 500; }
.workspace-help-dialog header button { flex: 0 0 32px; width: 32px; height: 32px; padding: 0; border: 1px solid #c8d3e1; border-radius: 6px; background: transparent; color: inherit; font: 24px/1 system-ui, sans-serif; cursor: pointer; }
.workspace-help-dialog .workspace-help-intro { margin: 8px 0 24px; color: #596a81; }
.workspace-help-dialog .question-capability-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 0; margin: 0; list-style: none; }
.workspace-help-dialog .question-capability-legend li { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.workspace-help-dialog .question-capability-legend svg { width: 22px; height: 22px; flex: 0 0 22px; color: #42699d; }
.workspace-help-dialog .question-capability-legend strong { display: block; font-size: 14px; font-weight: 500; }
.workspace-help-dialog .question-capability-legend small { display: block; margin-top: 3px; font-size: 13px; line-height: 1.6; color: #596a81; }
.workspace-help-dialog button:focus-visible { outline: 2px solid #42699d; outline-offset: 3px; }
@media (max-width: 760px) {
  .platform-shell.research-start .workspace > .question-branches { padding-top: 28px; }
}
@media (min-width: 761px) {
  .platform-shell.research-start:not(.preview-platform) > .workspace { scrollbar-gutter: stable both-edges; }
}
@media (max-width: 480px) {
  .workspace-help-dialog { padding: 16px; }
  .workspace-help-dialog .question-capability-legend { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
.platform-shell .question-branches .question-branches-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (max-width: 760px) {
  .platform-shell .question-branches .question-branches-layout { grid-template-columns: minmax(0, 1fr); }
  .platform-shell .question-branches .question-branches-story { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
.platform-shell :is(.query-attachments, .file-pill) svg { width: 18px; height: 18px; display: block; }
.platform-shell .file-list { display: flex; flex-wrap: wrap; gap: 6px; }
.platform-shell .file-list .file-pill { display: inline-flex; align-items: center; gap: 2px; padding: 4px; border: 1px solid var(--workspace-border); border-radius: 4px; background: transparent; }
.platform-shell .file-list .file-pill-remove { display: inline-flex; align-items: center; justify-content: center; width: 20px; min-width: 20px; height: 20px; min-height: 20px; padding: 0; border: 0; background: transparent !important; color: var(--workspace-muted); }
.platform-shell .image-fullscreen, .platform-shell .gallery-backdrop .image-viewer { background: color-mix(in srgb, var(--workspace-background) 96%, transparent); }
.platform-shell .image-viewer p { color: var(--workspace-text); }
.platform-shell .image-viewer-footer { max-width: calc(100% - 32px); justify-content: center; flex-wrap: wrap; gap: 8px; }
.platform-shell :is(.image-fullscreen-close, .image-viewer-close), .research-image-folder #close-viewer {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 32px; min-width: 32px; height: 32px; min-height: 32px;
  padding: 6px; border: 1px solid var(--workspace-border, #c8d3e1); border-radius: 4px; box-shadow: none;
  background: var(--workspace-surface, #eef1f5) !important; color: var(--workspace-text, #243247); cursor: pointer; z-index: 2;
}
.platform-shell :is(.image-fullscreen-close, .image-viewer-close):hover, .research-image-folder #close-viewer:hover { background: var(--workspace-accent-soft, #e5edfb) !important; border-color: var(--workspace-border, #c8d3e1); color: var(--workspace-text, #243247); }
.platform-shell :is(.image-fullscreen-close, .image-viewer-close) svg, .research-image-folder #close-viewer svg { width: 18px; height: 18px; }
:is(.platform-shell, .research-image-folder) :is(.attachment-image-card a, .attachment-image-card button, .attachment-image-dialog a, .attachment-image-dialog button, .query-attachments a, .image-fullscreen-close, .image-viewer-close, .image-viewer-nav, .image-viewer-action, .image-viewer-delete, #close-viewer):focus-visible { outline: 2px solid #42699d; outline-offset: 2px; }
.platform-shell .image-viewer :is(.image-viewer-nav, .image-viewer-action, .image-viewer-delete) { border: 1px solid var(--workspace-border); border-radius: 4px; background: var(--workspace-surface) !important; color: var(--workspace-text); box-shadow: none; }
.platform-shell .image-viewer :is(.image-viewer-nav, .image-viewer-action, .image-viewer-delete):hover { background: var(--workspace-accent-soft) !important; border-color: var(--workspace-border); color: var(--workspace-text); }
.completion-toast { pointer-events: none; }
.image-actions-menu { position: relative; flex: none; color: var(--workspace-text); }
.image-actions-menu > summary { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; box-sizing: border-box; padding: 6px; list-style: none; cursor: pointer; border: 1px solid var(--workspace-border); border-radius: 4px; background: var(--workspace-surface); }
.image-actions-menu > summary::-webkit-details-marker { display: none; }
.image-actions-menu svg, .attachment-image-dialog footer svg, .attachment-image-card .image-actions svg, .attachment-image-card .image-card-actions svg { display: block; width: 18px; height: 18px; }
.image-actions-popover { position: absolute; right: 0; bottom: calc(100% + 6px); z-index: 5; display: flex; flex-direction: column; min-width: 168px; max-width: calc(100vw - 48px); padding: 4px; border: 1px solid var(--workspace-border); border-radius: 6px; background: var(--workspace-surface); box-shadow: 0 8px 24px #090d1626; }
.image-actions-menu:not([open]) > .image-actions-popover { display: none; }
:is(.platform-shell, .research-image-folder) .image-actions-popover > :is(a, button) { display: block; width: 100%; height: auto; margin: 0; min-height: 36px; box-sizing: border-box; padding: 8px 12px; text-align: left; white-space: nowrap; border: 0; border-radius: 3px; background: transparent !important; color: var(--workspace-text); font: inherit; text-decoration: none; }
:is(.platform-shell, .research-image-folder) .image-actions-popover > :is(a, button):hover { background: var(--workspace-accent-soft) !important; }
.research-image-folder .viewer-toolbar .image-actions-menu { margin-left: auto; }
.research-image-folder .viewer-toolbar { overflow: visible; }
.research-image-folder .viewer-toolbar .image-actions-popover { bottom: auto; top: calc(100% + 6px); }
:is(.platform-shell, .research-image-folder) .attachment-image-card :is(.image-actions, .image-card-actions) > :is(a, button):not([hidden]) { display: inline-flex; justify-content: center; align-items: center; width: 32px; height: 32px; min-height: 32px; box-sizing: border-box; padding: 7px; }
.image-actions-menu > summary:focus-visible { outline: 2px solid #42699d; outline-offset: 2px; }
.platform-shell .image-viewer .image-actions-popover > button { border: 0; border-radius: 3px; box-shadow: none; }
.research-image-folder .gallery-brand-header { position: relative; overflow: visible; border-radius: 0 0 12px 12px; }
.research-image-folder .gallery-brand-header .gallery-banner-copy h1 { font-size: 14px !important; }
.research-image-folder .library-banner-controls { position: absolute; right: 16px; top: 24px; display: flex; align-items: center; gap: 12px; z-index: 70; color: #edf3ff; }
.research-image-folder .library-banner-controls .experience-navigation { display: flex; align-items: center; gap: 8px; }
.research-image-folder .library-banner-controls :is(a, summary) { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; box-sizing: border-box; padding: 4px; color: inherit; background: transparent; border: 0; border-radius: 4px; text-decoration: none; cursor: pointer; }
.research-image-folder .library-banner-controls svg { display: block; width: 20px; height: 20px; }
.research-image-folder .library-banner-controls :is(a, summary):hover { background: #ffffff14; }
.research-image-folder .library-banner-controls :is(a, summary):focus-visible { outline: 2px solid #60a5fa; outline-offset: 3px; }
.research-image-folder .banner-controls-menu { position: relative; }
.research-image-folder .banner-controls-menu > summary { list-style: none; }
.research-image-folder .banner-controls-menu > summary::-webkit-details-marker { display: none; }
.research-image-folder .library-account-actions { position: absolute; right: 0; top: 34px; display: flex; align-items: center; gap: 8px; padding: 12px; width: max-content; max-width: calc(100vw - 32px); background: #101a2b; border: 1px solid #344254; border-radius: 6px; box-shadow: 0 4px 16px #0003; }
.research-image-folder .banner-controls-menu:not([open]) > .library-account-actions { display: none; }
.platform-shell.reports-page-shell > .workspace-action-bar { display: flex; }
.platform-shell .report-run-footer { text-align: center; }
.platform-shell .report-run-summary { margin: 0 0 8px; color: var(--workspace-muted); font: 400 12px/1.5 var(--app-font); }
.run-elapsed { white-space: nowrap; }
.image-library-actions { min-width: 0; max-width: 100%; }
.image-library-actions .image-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
:is(.platform-shell, .research-image-folder) :is(.image-library-actions .image-card-actions, .image-actions) > :is(button, a):not([hidden]) { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 7px; border: 1px solid var(--workspace-border, #c8d3e1); border-radius: 4px; background: transparent; color: inherit; text-decoration: none; }
:is(.platform-shell, .research-image-folder) .image-action-delete { color: #b42332 !important; }
:is(.platform-shell .image-card-actions, .research-image-folder .image-actions) .image-action-delete { border-color: #b42332; }
.image-library-actions svg, .image-actions svg, .attachment-image-dialog header button svg { display: block; flex: none; width: 18px; height: 18px; }
.image-actions-popover > :is(a, button) { display: flex !important; align-items: center; gap: 8px; }
.image-actions-popover > :is(a, button)[hidden] { display: none !important; }
.image-actions-popover svg { display: inline-block; flex: none; width: 18px; height: 18px; vertical-align: middle; }
.image-library-actions [role="alert"] { color: #b42332; font-size: 13px; white-space: normal; }
.platform-shell .library-image-card { position: relative; min-width: 0; }
.platform-shell .library-image-card .image-card-preview img { width: 100%; height: 180px; object-fit: contain; }
.platform-shell .gallery-modal .image-grid .library-image-card .gallery-select-image { position: absolute; top: 7px; left: 7px; z-index: 2; display: flex; align-items: center; width: auto; min-height: 0; gap: 4px; padding: 3px 5px; border-radius: 4px; background: var(--workspace-surface); font-size: 11px; }
.platform-shell .library-image-card > .image-library-actions { position: absolute; top: 7px; right: 7px; z-index: 3; }
.platform-shell .library-image-card .image-actions-popover { top: calc(100% + 6px); bottom: auto; }
.platform-shell .library-image-card .library-image-name { display: flex; align-items: center; gap: 4px; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.original-image-link { display: grid; place-items: center; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; cursor: zoom-in; }
.original-image-link img { cursor: zoom-in; }
.original-image-link:focus-visible, .progressive-image-trigger:focus-visible { outline: 2px solid #42699d; outline-offset: 3px; }
.platform-shell .generated-image-preview { display: block; width: 100%; max-width: 900px; height: auto; margin: 0 auto; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.generated-image-preview img { display: block; width: 100%; height: auto; border-radius: 8px; }
.platform-shell .image-fullscreen > .original-image-link { width: 100%; height: 100%; }
.platform-shell .image-fullscreen .original-image-link img { max-height: calc(100dvh - 90px); max-width: 100%; object-fit: contain; }
.platform-shell .image-viewer > .original-image-link img { max-height: 78dvh; }
.progressive-image-trigger { cursor: zoom-in; }
.progressive-image-dialog { width: min(94vw, 1400px); max-height: 94dvh; box-sizing: border-box; padding: 14px; border: 1px solid var(--workspace-border, #c8d3e1); border-radius: 10px; background: var(--workspace-background, #edf2f7); color: var(--workspace-text, #243247); }
.progressive-image-dialog::backdrop { background: rgb(9 15 24 / .75); }
.progressive-image-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.progressive-image-dialog header span { min-width: 0; overflow-wrap: anywhere; }
.progressive-image-dialog header button { flex: 0 0 36px; width: 36px; height: 36px; padding: 0; border: 1px solid var(--workspace-border, #c8d3e1); border-radius: 6px; background: transparent; color: inherit; font-size: 24px; cursor: pointer; }
.progressive-image-dialog img { display: block; width: auto; height: auto; max-width: 100%; max-height: 72dvh; object-fit: contain; }
.progressive-image-dialog .image-enlarge-hint { margin: 10px 0 0; text-align: center; font-size: 12px; color: var(--workspace-muted, #76869a); }
.platform-shell .attachment-image-dialog > .original-image-link { padding: 0; border: 0; background: transparent; }
.research-image-folder .image-frame > .original-image-link { width: 100%; height: 100%; }
.research-image-folder #full-image { max-height: min(62dvh, 700px); }
@media print { .progressive-image-dialog { display: none !important; } }

.platform-shell .generation-watermark {
  width: min(100%, 680px);
  margin: 20px auto 28px;
  padding: 8px 16px 16px;
  box-sizing: border-box;
  text-align: center;
  color: var(--workspace-muted, #76869a);
  pointer-events: none;
}
.generation-watermark-visual { display: block; width: 100%; max-height: 250px; margin: 0 auto 12px; overflow: visible; }
.generation-watermark-orbits { opacity: .14; stroke-width: .8; }
.generation-watermark-wordmark { fill: currentColor; opacity: .42; font-size: 13px; letter-spacing: 7px; }
.platform-shell .generation-watermark h2 { margin: 0; color: var(--workspace-text, #243247); font-size: clamp(16px, 2vw, 21px); font-weight: 500; line-height: 1.5; }
.platform-shell .generation-watermark p { margin: 6px 0 0; color: inherit; font-size: 12px; line-height: 1.6; }
.generation-research-link { opacity: .22; }
.generation-research-packet { stroke: var(--workspace-accent, #4968a8); stroke-dasharray: 14 86; animation: generation-evidence-flow 4.8s linear infinite; }
.generation-research-source { animation: generation-source-breathe 4.8s ease-in-out infinite; }
.generation-research-halo { opacity: .25; transform-origin: 320px 112px; animation: generation-halo-breathe 4.8s ease-in-out infinite; }
.generation-research-core { stroke: var(--workspace-accent, #4968a8); opacity: .8; }
.generation-research-document { opacity: .7; }
.generation-image-canvas { opacity: .7; }
.generation-image-sketch { stroke-dasharray: 420; animation: generation-image-reveal 7s ease-in-out infinite; }
.generation-image-sweep { stroke: var(--workspace-accent, #4968a8); opacity: .6; animation: generation-image-scan 5s ease-in-out infinite; }
.generation-image-pixels rect { opacity: .2; transform-box: fill-box; transform-origin: center; animation: generation-pixel-breathe 4.8s ease-in-out infinite; }
.platform-shell .generation-watermark--compact { margin: 12px auto 20px; padding-block: 0 12px; }
.generation-watermark--compact .generation-watermark-visual { max-height: 128px; margin-bottom: 4px; }
.platform-shell .generation-watermark--compact h2 { font-size: 15px; }
@keyframes generation-evidence-flow { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes generation-source-breathe { 0%, 100% { opacity: .35; } 45% { opacity: .85; } }
@keyframes generation-halo-breathe { 0%, 100% { transform: scale(.92); opacity: .18; } 50% { transform: scale(1.12); opacity: .4; } }
@keyframes generation-image-reveal { 0%, 100% { stroke-dashoffset: 420; opacity: .18; } 45%, 75% { stroke-dashoffset: 0; opacity: .85; } }
@keyframes generation-image-scan { 0%, 100% { transform: translateY(0); opacity: .15; } 50% { transform: translateY(130px); opacity: .7; } }
@keyframes generation-pixel-breathe { 0%, 100% { transform: scale(.7); opacity: .15; } 50% { transform: scale(1.2); opacity: .65; } }
@media (max-width: 600px) {
  .platform-shell .generation-watermark { margin-block: 16px 24px; padding-inline: 0; }
  .generation-watermark-visual { margin-bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .generation-watermark *, .generation-watermark *::before, .generation-watermark *::after { animation: none !important; }
  .generation-research-packet { stroke-dasharray: none; opacity: .4; }
  .generation-image-sketch { stroke-dasharray: none; opacity: .75; }
  .generation-image-sweep { display: none; }
}
@media (max-width: 760px) {
  .research-image-folder .library-banner-controls { top: auto; bottom: 4px; right: 12px; }
  .research-image-folder .gallery-banner-copy { max-width: calc(100% - 120px); }
  .research-image-folder .gallery-brand-header .gallery-banner-copy h1 { font-size: clamp(8px, 2.5vw, 10px) !important; }
}
.platform-shell .attachment-row-label { align-self: center; flex: 0 0 auto; white-space: nowrap; color: var(--workspace-muted); font: 400 12px/1.5 var(--app-font); margin-right: 4px; }
.platform-shell .attachment-selector { display: inline-flex; flex: 0 0 auto; max-width: 100%; }
.platform-shell .attachment-selector > .attachment-selector-trigger { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; min-width: 32px; max-width: 32px; height: 32px; min-height: 32px; padding: 6px; gap: 0; border: 1px solid var(--workspace-border); border-radius: 4px; background: var(--workspace-surface); color: var(--workspace-text); font: 400 14px/1 var(--app-font); white-space: nowrap; overflow: hidden; }
.platform-shell .attachment-selector-trigger > .styled-select-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 18px; width: 18px; height: 18px; }
.platform-shell .attachment-selector-trigger .attachment-badge { display: inline-flex; width: 18px; height: 18px; padding: 0; border: 0; background: transparent; }
.platform-shell .attachment-selector-trigger .attachment-badge svg { display: block; width: 18px; height: 18px; }
.platform-shell .attachment-selector-trigger .attachment-badge { margin: 0; }
.platform-shell .attachment-selector-trigger > span:not(.styled-select-icon):not(.styled-select-arrow) { display: inline; }
.attachment-open-menu a { display: block; min-height: 36px; box-sizing: border-box; padding: 6px 10px; border-radius: 5px; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.attachment-open-menu .attachment-menu-heading { display: block; padding: 6px 10px; font-size: 12px; font-weight: 600; }
.attachment-open-menu a:is(:hover, :focus-visible) { background: #e5edfb; color: #1e40af; outline: 2px solid #1e40af; outline-offset: -2px; }
.attachment-open-menu a[aria-disabled="true"] { opacity: .6; }
.platform-shell .report-title-row .report-header-actions .report-output-selector.compact-output-selector { width: auto; min-width: 0; max-width: none; }
.platform-shell .report-title-row .report-header-actions .report-output-selector.compact-output-selector > span:not(.styled-select-icon):not(.styled-select-arrow) { display: inline; }
.platform-shell .generation-watermark-attachments { display: flex; justify-content: center; width: 100%; margin-top: 16px; pointer-events: auto; }
.platform-shell .image-recovery-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.platform-shell .image-recovery-actions > .regenerate-image-button { width: auto; margin: 0; min-height: 32px; }
