html[data-theme="doraemon-blue"] {
  color-scheme: light;

  --doraemon-blue: #079bda;
  --doraemon-blue-deep: #006f9f;
  --doraemon-blue-ink: #123c52;
  --doraemon-bell: #f4c542;
  --doraemon-pocket: #e7f6fc;
  --doraemon-pocket-line: #78bdd9;

  --ui-bg: #eef8fc;
  --ui-surface: #fff;
  --ui-surface-subtle: #f6fcff;
  --ui-surface-muted: #e4f4fb;
  --ui-text: #172d3a;
  --ui-text-soft: #334f60;
  --ui-text-muted: #526c7b;
  --ui-border: #c5e0ec;
  --ui-border-strong: #91c3d8;
  --ui-primary: #0076a8;
  --ui-primary-solid: #0076a8;
  --ui-primary-hover: #005f89;
  --ui-primary-pressed: #004e72;
  --ui-on-primary: #fff;
  --ui-selected: #e0f3fb;
  --ui-info-bg: #e8f6fc;
  --ui-focus: #006f9f;
  --ui-scrollbar: #8dbdd1;

  --ui-sidebar-bg: #edf8fc;
  --ui-sidebar-text-selected: #123c52;
  --ui-sidebar-cap-text-selected: #123c52;
  --ui-sidebar-selected-bg: #fff;
  --ui-sidebar-selected-shadow: #78b9d4;
  --ui-sidebar-hover-bg: #e3f4fb;
  --ui-sidebar-status: #526c7b;
  --ui-sidebar-key-start: #fff;
  --ui-sidebar-key-end: #eff9fd;
  --ui-sidebar-key-text: #244a60;
  --ui-sidebar-key-border: #b9d9e7;
  --ui-sidebar-key-shadow: #a6ccdd;
  --ui-sidebar-key-hover-start: #fff;
  --ui-sidebar-key-hover-end: #e7f6fc;
  --ui-sidebar-key-hover-text: #123c52;
  --ui-sidebar-key-hover-border: #78bdd9;
  --ui-sidebar-key-focus: #006f9f;
  --ui-sidebar-key-selected-start: #e7f6fc;
  --ui-sidebar-key-selected-end: #d8eff9;
  --ui-sidebar-key-selected-text: #123c52;
  --ui-sidebar-key-selected-border: #78bdd9;
  --ui-sidebar-key-selected-shadow: #9dc9db;
  --ui-sidebar-key-selected-accent: #0076a8;
  --ui-sidebar-key-selected-highlight: #f8fdff;
  --ui-sidebar-key-pressed: #dceff7;
  --ui-sidebar-key-selected-pressed: #cee8f4;
  --ui-sidebar-key-pressed-shadow: #123c5226;

  --ui-control-bg: #fff;
  --ui-control-ambient: #123c520b;
  --ui-primary-ambient: #006f9f1b;
  --ui-control-gradient-start: #fff;
  --ui-control-gradient-end: #f2fbff;
  --ui-control-border: #a9cfdf;
  --ui-control-shadow: #a9cfdf;
  --ui-control-highlight: #fff;
  --ui-control-hover-border: #079bda;
  --ui-control-selected-bg: #e0f3fb;
  --ui-control-selected-text: #123c52;
  --ui-control-selected-border: #079bda;
  --ui-control-selected-shadow: #8dbdd1;
  --ui-control-pressed-bg: #dceff7;
  --ui-control-pressed-shadow: #123c5214;
  --ui-control-selected-pressed-shadow: #123c5220;
  --ui-primary-gradient-start: #087faf;
  --ui-primary-gradient-end: #00678f;
  --ui-primary-border: #00678f;
  --ui-primary-shadow: #004e72;
  --ui-primary-highlight: #ffffff30;
  --ui-disabled-bg: #eaf2f5;
  --ui-disabled-text: #71838d;
  --ui-disabled-border: #d3e2e9;
  --ui-disabled-shadow: #cedde4;
  --ui-legacy-disabled-text: #687983;

  --ui-input-bg: #f8fdff;
  --ui-input-border: #a9cfdf;
  --ui-panel-border: #c5e0ec;
  --ui-dialog-border: #8fc2d7;
  --ui-dialog-shadow: #123c5238;
  --ui-backdrop: #102f4266;
  --ui-tools-shadow: #123c5216;
  --ui-menu-shadow: #123c521f;
  --ui-menu-shadow-subtle: #123c5210;
  --ui-breadcrumb-separator: #91b4c4;
  --ui-language-bg: #eaf7fc;
  --ui-table-row-border: #e2f0f6;
  --ui-table-mobile-border: #d7eaf2;
  --ui-project-name: #244a60;
  --ui-project-selected-bg: #edf8fc;
  --ui-project-selected-accent: #0076a8;
  --ui-research-home-bg: #e4f4fb;
  --ui-research-home-border: #bfdce9;
  --ui-home-title: #244a60;
  --ui-home-meta-border: #c5e0ec;
  --ui-home-meta-strong: #426579;
  --ui-search-bg: #f4fbfe;
  --ui-search-border: #d4e8f1;
  --ui-research-unavailable: #edf5f8;

  --ui-agent-panel-bg: #fbfeff;
  --ui-agent-panel-border: #a9cfdf;
  --ui-agent-panel-shadow: #123c5230;
  --ui-agent-text: #334f60;
  --ui-agent-answer-border: #d4e8f1;
  --ui-agent-selection-bg: #0076a8;
  --ui-agent-user-bg: #e4f4fb;
  --ui-agent-user-border: #c5e0ec;
  --ui-agent-link: #006f9f;
  --ui-agent-confirm-bg: #eef9fd;
  --ui-agent-confirm-border: #c5e0ec;
  --ui-agent-secondary: #526c7b;
  --ui-agent-suggestion-text: #526c7b;
  --ui-agent-citation-bg: #f4fbfe;
  --ui-agent-inline-bg: #e7f6fc;
  --ui-agent-inline-text: #365f74;
  --ui-agent-launcher-shadow: #91c3d8;
  --ui-agent-launcher-ambient: #123c5214;
  --ui-agent-launcher-pressed: #dceff7;
  --ui-agent-launcher-pressed-shadow: #123c5218;
}

html[data-theme="doraemon-blue"] body {
  background: var(--ui-bg);
}

html[data-theme="doraemon-blue"] :where(
  .button,
  .document-open,
  .note-open,
  .search-result-open,
  input,
  select,
  textarea,
  summary
) {
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

html[data-theme="doraemon-blue"] :where(
  button,
  a,
  input,
  select,
  textarea,
  summary
):focus-visible {
  outline-color: var(--ui-focus);
  outline-offset: 3px;
}

html[data-theme="doraemon-blue"] .app-header {
  position: relative;
  border-bottom: 2px solid var(--doraemon-pocket-line);
  background: linear-gradient(110deg, #fff 0%, #f4fbff 72%, #e7f6fc 100%);
  box-shadow: 0 4px 16px rgb(0 111 159 / 8%);
}

html[data-theme="doraemon-blue"] .app-header::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 24px;
  width: 62px;
  height: 3px;
  border-radius: 999px;
  background: var(--doraemon-bell);
  pointer-events: none;
}

html[data-theme="doraemon-blue"] :where(
  .button,
  .excerpt-download,
  #theme-select
) {
  border-radius: 999px;
}

html[data-theme="doraemon-blue"] .button-icon {
  border-radius: 50%;
}

html[data-theme="doraemon-blue"] .button:hover:not(:disabled),
html[data-theme="doraemon-blue"] .excerpt-download:hover {
  border-color: var(--doraemon-blue);
  background: var(--ui-surface-subtle);
  box-shadow: 0 2px 7px rgb(0 111 159 / 10%);
}

html[data-theme="doraemon-blue"] .button-primary {
  border-color: var(--doraemon-blue-deep);
  background: var(--ui-primary);
  box-shadow: 0 3px 0 var(--ui-primary-shadow);
}

html[data-theme="doraemon-blue"] .button-primary:hover:not(:disabled) {
  border-color: var(--ui-primary-hover);
  background: var(--ui-primary-hover);
  box-shadow: 0 3px 0 #003f5d, 0 5px 12px rgb(0 111 159 / 16%);
}

html[data-theme="doraemon-blue"] .button-primary:active:not(:disabled) {
  box-shadow: 0 1px 0 var(--ui-primary-shadow);
}

html[data-theme="doraemon-blue"] :where(
  #library-search-input,
  #page-input,
  #note-text,
  .metadata-field input,
  #dataset-select,
  #dataset-selection-column,
  #dataset-selection-value,
  #dataset-selection-search,
  #dataset-selection-name,
  #analysis-method,
  #analysis-engine,
  .ttest-options select,
  .ttest-options input[type="number"],
  .chart-field select,
  .chart-field input,
  #assistant-history,
  #assistant-message,
  .assistant-settings-form > input,
  #image-annotation-text
) {
  border-radius: 12px;
}

html[data-theme="doraemon-blue"] :where(
  input[type="checkbox"],
  input[type="radio"]
) {
  accent-color: var(--ui-primary);
}

html[data-theme="doraemon-blue"] :where(
  .documents-panel,
  .notes-panel,
  .reader-heading-row,
  .metadata-panel,
  .image-library,
  .analysis-panel,
  .charts-panel
) {
  border-color: var(--ui-border);
}

html[data-theme="doraemon-blue"] :where(.documents-panel, .notes-panel) {
  background: #fbfeff;
}

html[data-theme="doraemon-blue"] :where(
  .documents-panel > .panel-heading,
  .notes-panel > .panel-heading,
  .reader-heading-row
) {
  background: linear-gradient(180deg, #fff 0%, #f4fbfe 100%);
}

html[data-theme="doraemon-blue"] :where(
  .panel-heading h2,
  .reader-heading-row h2,
  .image-library > summary,
  .analysis-panel > summary,
  .charts-panel > summary,
  .assistant-header h2
) {
  color: var(--doraemon-blue-ink);
}

html[data-theme="doraemon-blue"] .library-search {
  background: #f8fdff;
}

html[data-theme="doraemon-blue"] .document-item {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--ui-border);
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

html[data-theme="doraemon-blue"] .search-result-item {
  margin: 7px 10px;
  border: 1px solid var(--ui-border);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

html[data-theme="doraemon-blue"] :where(.document-open, .search-result-open) {
  border-left: 0;
  border-radius: inherit;
}

html[data-theme="doraemon-blue"] .document-item[data-active="true"] .document-open {
  background: var(--ui-selected);
  box-shadow: inset 3px 0 0 var(--ui-primary);
}

@media (max-width: 820px) {
  html[data-theme="doraemon-blue"] .document-item {
    border-right: 1px solid var(--ui-border);
  }
}

html[data-theme="doraemon-blue"] .reader-toolbar {
  border-bottom-color: var(--ui-border-strong);
  background: #f2faff;
}

html[data-theme="doraemon-blue"] .reader-stage {
  background: radial-gradient(circle at 50% 38%, #fff 0%, #f5fbfe 48%, #e8f5fa 100%);
}

html[data-theme="doraemon-blue"] .page-surface {
  box-shadow: 0 0 0 2px var(--doraemon-pocket-line), 0 12px 30px rgb(18 60 82 / 14%);
}

html[data-theme="doraemon-blue"] .empty-state,
html[data-theme="doraemon-blue"] .reader-empty {
  border: 2px solid var(--doraemon-pocket-line);
  background: #fff;
  color: var(--ui-text-soft);
  box-shadow: inset 0 -7px 0 var(--doraemon-pocket), 0 10px 24px rgb(18 60 82 / 8%);
}

html[data-theme="doraemon-blue"] .empty-state {
  margin: 16px 12px;
  padding: 24px 16px;
  border-radius: 18px;
  text-align: center;
}

html[data-theme="doraemon-blue"] .reader-empty {
  max-width: 340px;
  padding: 48px 28px 36px;
  border-radius: 24px;
}

html[data-theme="doraemon-blue"] :where(
  .image-library > summary,
  .analysis-panel > summary,
  .charts-panel > summary
) {
  position: relative;
  border-radius: 14px;
}

html[data-theme="doraemon-blue"] :where(
  .image-library > summary,
  .analysis-panel > summary,
  .charts-panel > summary
)::after {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  right: 18px;
  width: 10px;
  height: 10px;
  border: 1px solid var(--doraemon-blue-deep);
  border-radius: 50%;
  background: var(--doraemon-bell);
  pointer-events: none;
}

html[data-theme="doraemon-blue"] :where(
  .image-library[open],
  .analysis-panel[open],
  .charts-panel[open]
) {
  border-radius: 0 0 18px 18px;
  box-shadow: inset 0 -3px 0 var(--doraemon-pocket);
}

html[data-theme="doraemon-blue"] :where(
  .analysis-table-scroll,
  .analysis-columns-fieldset,
  .analysis-confirmation,
  .assistant-analysis-code,
  .analysis-code,
  .analysis-log-text,
  .ttest-independent
) {
  border-radius: 12px;
}

html[data-theme="doraemon-blue"] .note-item {
  margin-bottom: 12px;
  padding: 0 12px 12px;
  border: 1px solid var(--ui-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 3px 10px rgb(18 60 82 / 5%);
}

html[data-theme="doraemon-blue"] .note-item:focus-within,
html[data-theme="doraemon-blue"] .note-item:hover {
  border-color: var(--doraemon-pocket-line);
}

html[data-theme="doraemon-blue"] .notes-empty {
  margin: 10px 16px 14px;
  padding: 18px 14px 15px;
  border: 2px solid var(--doraemon-pocket-line);
  border-top-width: 5px;
  border-radius: 10px 10px 24px 24px;
  background: var(--ui-surface-subtle);
  text-align: center;
}

html[data-theme="doraemon-blue"] .excerpt-preview {
  border-radius: 12px;
}

html[data-theme="doraemon-blue"] .edit-mode-label {
  border-left-color: var(--doraemon-bell);
  border-radius: 0 10px 10px 0;
}

html[data-theme="doraemon-blue"] .review-badge,
html[data-theme="doraemon-blue"] .chart-badge,
html[data-theme="doraemon-blue"] .assistant-context-badge {
  border-radius: 999px;
}

html[data-theme="doraemon-blue"] .assistant-toggle {
  border-radius: 999px;
  box-shadow: 0 3px 0 var(--doraemon-bell), 0 8px 20px rgb(0 111 159 / 22%);
}

html[data-theme="doraemon-blue"] .assistant-panel {
  border: 2px solid var(--doraemon-pocket-line);
  border-radius: 24px;
  background: #fbfeff;
  box-shadow: 0 16px 42px var(--ui-agent-panel-shadow);
}

html[data-theme="doraemon-blue"] .assistant-header {
  border-radius: 21px 21px 0 0;
  background: linear-gradient(110deg, #fff, var(--doraemon-pocket));
}

html[data-theme="doraemon-blue"] :where(.assistant-user-message, .assistant-answer) {
  border: 1px solid var(--ui-border);
  border-radius: 16px;
}

html[data-theme="doraemon-blue"] .assistant-user-message {
  border-color: var(--doraemon-pocket-line);
}

html[data-theme="doraemon-blue"] .assistant-proposal {
  border-radius: 16px;
  box-shadow: inset 0 3px 0 var(--doraemon-pocket);
}

html[data-theme="doraemon-blue"] .assistant-settings {
  border-radius: 0 0 21px 21px;
  background: #f8fdff;
  overflow: hidden;
}

html[data-theme="doraemon-blue"] :where(
  .analysis-notebook-dialog,
  .image-viewer-dialog
) {
  border: 2px solid var(--ui-dialog-border);
  border-radius: 24px;
  box-shadow: 0 20px 64px var(--ui-dialog-shadow);
}

html[data-theme="doraemon-blue"] :where(
  .analysis-notebook-header,
  .image-viewer-header
) {
  background: linear-gradient(110deg, #fff, #eff9fd);
}

html[data-theme="doraemon-blue"] :where(
  .analysis-notebook-footer,
  .image-viewer-toolbar,
  #rich-text-editor .ql-toolbar
) {
  background: #f2faff;
}

html[data-theme="doraemon-blue"] :where(
  #rich-text-editor .ql-toolbar button,
  #rich-text-editor .ql-toolbar .ql-picker
) {
  border-radius: 9px;
}

html[data-theme="doraemon-blue"] .image-viewer-stage {
  border: 2px solid var(--doraemon-pocket-line);
}

html[data-theme="doraemon-blue"] .image-annotation-preview {
  border-radius: 999px;
}

@media (max-width: 700px) {
  html[data-theme="doraemon-blue"] .image-viewer-dialog {
    border-radius: 0;
  }
}

@media (max-width: 480px) {
  html[data-theme="doraemon-blue"] .app-header::after {
    left: 16px;
  }

  html[data-theme="doraemon-blue"] .empty-state {
    margin-inline: 8px;
  }

  html[data-theme="doraemon-blue"] .reader-empty {
    max-width: calc(100% - 8px);
    padding: 48px 18px 30px;
    border-radius: 24px;
  }

  html[data-theme="doraemon-blue"] .assistant-panel {
    border-radius: 22px 22px 0 0;
  }

  html[data-theme="doraemon-blue"] .analysis-notebook-dialog {
    border-radius: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="doraemon-blue"] :where(
    .button,
    .document-open,
    .note-open,
    .search-result-open,
    input,
    select,
    textarea,
    summary
  ) {
    transition: none;
  }
}
