/* An operator's source notebook: context, question, two useful sources.
   Content-sized controls; the map is untouched until this is requested. */
.research-context-open { align-self: flex-start; margin: 4px 8px; padding: 4px 8px; min-height: 32px; font: inherit; color: inherit; background: transparent; border: 1px solid var(--line, #888); border-radius: 0; cursor: pointer; }
dialog.research-tools {
  --research-ground: var(--panel, var(--bg, #faf9f7));
  --research-ink: var(--ink, var(--text, #191712));
  --research-line: var(--line, var(--border, #888));
  box-sizing: border-box;
  width: min(660px, calc(100vw - 24px));
  max-width: none;
  max-height: calc(100dvh - 24px);
  margin: auto;
  padding: 0;
  border: 1px solid var(--research-line);
  border-radius: 0;
  background: var(--research-ground);
  color: var(--research-ink);
  font: 400 16px/1.5 var(--research-font, 'Helvetica Neue', Helvetica, Arial, sans-serif);
  text-transform: none;
  letter-spacing: normal;
  overflow: auto;
}
dialog.research-tools::backdrop { background: rgb(0 0 0 / 40%); }
.research-tools *, .research-tools *::before, .research-tools *::after { box-sizing: border-box; }
.research-tools header { position: sticky; top: 0; z-index: 1; background: var(--research-ground); display: flex; align-items: start; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--research-line); }
.research-tools h2 { flex: 1; font: 600 24px/1.2 var(--research-font, 'Helvetica Neue', Helvetica, Arial, sans-serif); margin: 0; color: inherit; }
.research-tools h3 { font: 600 18px/1.3 var(--research-font, 'Helvetica Neue', Helvetica, Arial, sans-serif); margin: 0 0 4px; color: inherit; }
.research-tools .research-tools-body { padding: 12px 16px 16px; }
.research-tools p { margin: 8px 0; max-width: 65ch; font: inherit; color: inherit; overflow-wrap: anywhere; }
.research-tools button, .research-tools select, .research-tools summary, .research-tools a { font: inherit; letter-spacing: normal; text-transform: none; }
.research-tools button, .research-tools select { width: auto; height: auto; min-height: 32px; max-width: 100%; border: 1px solid var(--research-line); border-radius: 0; padding: 4px 8px; background: var(--research-ground); color: inherit; cursor: pointer; }
.research-tools header button { min-height: 44px; flex: none; }
.research-tools label { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font: inherit; color: inherit; }
.research-tools .research-tools-task { margin: 12px 0 4px; font-weight: 600; }
.research-tools .research-tools-task select { flex: 0 1 auto; font-weight: 400; min-width: 0; }
.research-tools .research-tools-list { list-style: none; padding: 0; margin: 0; }
.research-tools .research-tools-list > li { padding: 12px 0; border-bottom: 1px solid var(--research-line); }
.research-tools a { display: inline-block; color: inherit; text-decoration: underline; text-underline-offset: 3px; padding: 4px 0; overflow-wrap: anywhere; }
.research-tools details { margin: 8px 0; }
.research-tools summary { cursor: pointer; width: fit-content; padding: 4px 0; }
.research-tools footer { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.research-tools footer span { max-width: 45ch; }
.research-tools :focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.research-tools[lang='zh-Hans'] p { max-width: 40em; }
dialog.research-tools[data-system='mem'] { --research-font: 'Source Sans 3', Arial, sans-serif; --research-ground: #0b111a; --research-ink: #e4e8ed; --research-line: #566373; }
@media (max-width: 480px) {
  .research-tools header { padding: 10px 12px; }
  .research-tools .research-tools-body { padding: 10px 12px 12px; }
  .research-tools label { align-items: start; }
  .research-tools .research-tools-task select { width: 100%; }
}
