:root {
  --font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --text-size-base: 15px;
  --text-size-dense: 16px;
  --text-size-control: 15px;
  --text-size-menu: 14px;
  --text-size-secondary: 13px;
  --text-size-card-title: 17px;
  --text-size-heading: 28px;
  --text-line-base: 1.55;
  --text-line-dense: 1.6;
  --text-line-tight: 1.25;
  --text-line-control: 1.4;
  --text-weight-regular: 400;
  --text-weight-body: 450;
  --text-weight-medium: 500;
  --text-weight-semibold: 600;
  --text-weight-bold: 700;
  --text-tracking-base: 0;
  --text-tracking-tight: 0;
}

html,
body {
  font-family: var(--font-sans);
  font-size: var(--text-size-base);
  line-height: var(--text-line-base);
  font-weight: var(--text-weight-body);
  letter-spacing: var(--text-tracking-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body,
button,
input,
textarea,
select {
  font-family: var(--font-sans);
}

button,
input,
textarea,
select {
  font-size: var(--text-size-control);
  line-height: var(--text-line-control);
  font-weight: var(--text-weight-medium);
  letter-spacing: var(--text-tracking-base);
}

p,
li,
td,
th {
  font-size: var(--text-size-base);
  line-height: var(--text-line-base);
  font-weight: var(--text-weight-regular);
}

label {
  font-size: 14px;
  line-height: var(--text-line-base);
  font-weight: var(--text-weight-medium);
}

h1,
h2,
h3,
h4,
h5,
.page-title,
.section-title,
.st-title,
.entry-title {
  font-size: var(--text-size-heading);
  line-height: var(--text-line-tight);
  font-weight: var(--text-weight-bold);
  letter-spacing: var(--text-tracking-tight);
}

.card h1,
.card h2,
.card h3,
.card h4,
.card-title,
.job-title,
.interest-cv-title,
.template-question-title {
  font-size: var(--text-size-card-title);
  line-height: 1.35;
  font-weight: var(--text-weight-semibold);
}

.bar,
.menu-bar,
.menu-bar-mobile,
.nav,
.nav-ul-interesting,
.sidebar,
.side-toggle-control {
  font-size: var(--text-size-menu);
  line-height: var(--text-line-control);
  font-weight: var(--text-weight-medium);
}

.muted,
.meta,
.hint,
.help,
.eyebrow,
.entry-eyebrow,
.secondary,
.job-meta,
.template-question-counter,
.interest-chat-eyebrow,
.interest-chat-hint,
.interest-cv-subtitle,
.interest-cv-label,
.interest-cv-period,
.statuss p {
  font-size: var(--text-size-secondary);
  line-height: 1.45;
  font-weight: var(--text-weight-regular);
}

.interest-chat-assistant,
.template-question-assistant,
.cv-freeform-body,
.messages,
.job-description,
.interest-cv-summary,
.interest-cv-value,
.interest-cv-item-description,
.popupx .box .content,
.popupx .box .content p,
.interesting .center p {
  font-size: var(--text-size-dense);
  line-height: var(--text-line-dense);
  font-weight: var(--text-weight-regular);
  letter-spacing: var(--text-tracking-base);
}

code,
pre,
kbd,
samp,
.log,
.logs,
.debug,
.json,
.code,
.mono,
.score-technical,
.technical-score,
.technical-id,
.job-id,
.run-id,
.trace-id,
.raw-json {
  font-family: var(--font-mono);
  font-size: 0.95em;
  line-height: 1.6;
  letter-spacing: 0;
  font-variant-ligatures: none;
}

pre,
.log,
.logs,
.debug,
.json,
.raw-json {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.interest-chat-shell,
.interest-chat,
.interest-cv-shell,
.template-question-card,
.template-question-chat,
.cv-freeform-body {
  font-family: var(--font-sans) !important;
  font-size: var(--text-size-base) !important;
  line-height: var(--text-line-base) !important;
  font-weight: var(--text-weight-body) !important;
  letter-spacing: var(--text-tracking-base) !important;
}

.interest-chat-assistant,
.template-question-assistant,
.cv-freeform-body,
.interest-cv-summary,
.interest-cv-value,
.interest-cv-item-description,
.interest-cv-missing-text,
.interest-cv-missing-help,
.interest-cv-skipped-text,
.interest-cv-skipped-help,
.interest-cv-review-text {
  font-size: var(--text-size-dense) !important;
  line-height: var(--text-line-dense) !important;
  font-weight: var(--text-weight-regular) !important;
  letter-spacing: var(--text-tracking-base) !important;
}

.interest-cv-title,
.template-question-title {
  font-size: var(--text-size-card-title) !important;
  line-height: 1.35 !important;
  font-weight: var(--text-weight-semibold) !important;
}

.interest-chat-eyebrow,
.interest-chat-hint,
.interest-chat-attachment,
.template-question-eyebrow,
.template-question-counter,
.template-question-options,
.template-question-error,
.personal-counter,
.interest-cv-subtitle,
.interest-cv-label,
.interest-cv-period,
.interest-cv-score-label,
.interest-cv-score-text,
.interest-cv-placeholder {
  font-size: var(--text-size-secondary) !important;
  line-height: 1.45 !important;
  font-weight: var(--text-weight-regular) !important;
}

.interest-chat-composer textarea,
.template-question-composer textarea,
.cv-freeform-composer textarea,
.template-question-actions button,
.interest-chat-composer button {
  font-size: var(--text-size-control) !important;
  line-height: var(--text-line-control) !important;
  font-weight: var(--text-weight-medium) !important;
}

.score,
.score-box,
.interest-cv-score-value {
  font-family: var(--font-sans) !important;
  letter-spacing: var(--text-tracking-base) !important;
}

[style*="font-weight:300"],
[style*="font-weight: 300"],
.font-light,
.text-light {
  font-weight: var(--text-weight-regular) !important;
}

[style*="letter-spacing:-"],
[style*="letter-spacing: -"] {
  letter-spacing: 0 !important;
}

@media (max-width: 640px) {
  .interest-chat-assistant,
  .template-question-assistant,
  .cv-freeform-body,
  .messages,
  .job-description,
  .interesting .center p {
    font-size: var(--text-size-dense);
    line-height: var(--text-line-dense);
  }

  .interest-chat-assistant,
  .template-question-assistant,
  .cv-freeform-body,
  .interest-cv-summary,
  .interest-cv-value,
  .interest-cv-item-description {
    font-size: var(--text-size-dense) !important;
    line-height: var(--text-line-dense) !important;
  }

  input,
  textarea,
  select {
    font-size: var(--text-size-dense);
  }
}
