:root[data-font-level="large"] {
  --synchron-readable-text: 20px;
  --synchron-chat-text: 32px;
  --synchron-input-text: 24px;
  --synchron-small-text: 17px;
  --synchron-navigation-text: 20px;
  --synchron-code-text: 26px;
  --synchron-context-text: 19px;
  --synchron-heading-text: 30px;
  --synchron-card-title: 24px;
  --synchron-card-description: 19px;
  --synchron-card-status: 16px;
  --synchron-icon-text: 24px;
}

:root[data-font-level="max"],
:root[data-font-scale="max"]:not([data-font-level]) {
  --synchron-readable-text: 24px;
  --synchron-chat-text: 48px;
  --synchron-input-text: 34px;
  --synchron-small-text: 20px;
  --synchron-navigation-text: 24px;
  --synchron-code-text: 36px;
  --synchron-context-text: 22px;
  --synchron-heading-text: 36px;
  --synchron-card-title: 28px;
  --synchron-card-description: 22px;
  --synchron-card-status: 18px;
  --synchron-icon-text: 28px;
}

:root[data-font-level="ultra"] {
  --synchron-readable-text: 28px;
  --synchron-chat-text: 60px;
  --synchron-input-text: 40px;
  --synchron-small-text: 22px;
  --synchron-navigation-text: 28px;
  --synchron-code-text: 44px;
  --synchron-context-text: 26px;
  --synchron-heading-text: 42px;
  --synchron-card-title: 34px;
  --synchron-card-description: 26px;
  --synchron-card-status: 22px;
  --synchron-icon-text: 32px;
}

.font-size-control {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  background: #f0f0f0;
}

.font-size-control-title {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-size: 18px;
  font-weight: 750;
}

.font-size-stepper {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 58px;
  gap: 8px;
  align-items: stretch;
}

.sidebar-nav .font-size-stepper button {
  width: 58px;
  min-width: 58px;
  min-height: 58px;
  justify-content: center;
  padding: 0;
  border: 2px solid #111;
  border-radius: 14px;
  color: #fff;
  background: #111;
  font-size: 24px;
}

.sidebar-nav .font-size-stepper button:disabled {
  border-color: #aaa;
  color: #666;
  background: #ddd;
  cursor: not-allowed;
}

#fontSizeLabel {
  display: grid;
  place-items: center;
  min-width: 0;
  padding: 6px;
  border: 2px solid #d0d0d0;
  border-radius: 14px;
  background: #fff;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  overflow-wrap: anywhere;
}

:root[data-font-scale="max"] body {
  font-size: var(--synchron-readable-text);
}

:root[data-font-scale="max"] .app-shell {
  grid-template-columns: 360px minmax(0, 1fr);
}

:root[data-font-scale="max"] .sidebar {
  gap: 12px;
  padding: 16px 12px;
}

:root[data-font-scale="max"] .sidebar-brand,
:root[data-font-scale="max"] .new-chat,
:root[data-font-scale="max"] .sidebar-nav button,
:root[data-font-scale="max"] .conversation,
:root[data-font-scale="max"] .profile-button {
  font-size: var(--synchron-navigation-text);
  line-height: 1.3;
}

:root[data-font-scale="max"] .sidebar-brand {
  min-height: 72px;
}

:root[data-font-scale="max"] .sidebar-brand small,
:root[data-font-scale="max"] .profile-button small,
:root[data-font-scale="max"] .sidebar-section > span,
:root[data-font-scale="max"] .sidebar-nav .sidebar-nav-label {
  font-size: var(--synchron-small-text);
  line-height: 1.35;
  white-space: normal;
}

:root[data-font-scale="max"] .new-chat,
:root[data-font-scale="max"] .sidebar-nav button {
  min-height: 64px;
}

:root[data-font-scale="max"] .profile-button {
  min-height: 76px;
  grid-template-columns: 48px minmax(0, 1fr) 28px;
}

:root[data-font-scale="max"] .profile-avatar {
  width: 48px;
  height: 48px;
}

:root[data-font-scale="max"] .font-size-control-title,
:root[data-font-scale="max"] #fontSizeLabel {
  font-size: var(--synchron-small-text);
}

:root[data-font-scale="max"] .chat-toolbar {
  min-height: 78px;
}

:root[data-font-scale="max"] .model-title strong,
:root[data-font-scale="max"] #agentStatusText {
  font-size: var(--synchron-navigation-text);
}

:root[data-font-scale="max"] .model-title small {
  font-size: var(--synchron-small-text);
  line-height: 1.3;
}

:root[data-font-scale="max"] #chatMessages,
:root[data-font-scale="max"] .composer-wrap {
  width: min(100%, 1120px);
}

:root[data-font-scale="max"] .message {
  font-size: var(--synchron-chat-text) !important;
  line-height: 1.42 !important;
  overflow-wrap: anywhere;
}

:root[data-font-scale="max"]
  .message.agent
  :where(p, li, blockquote, strong, em, a, span) {
  font-size: inherit;
  line-height: inherit;
}

:root[data-font-scale="max"] .message.agent :where(code, pre) {
  font-size: var(--synchron-code-text);
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

:root[data-font-scale="max"] .message-actions button {
  width: 56px;
  height: 56px;
  font-size: var(--synchron-navigation-text);
}

:root[data-font-scale="max"] .chat-input-area {
  min-height: 82px;
  border-radius: 30px;
}

:root[data-font-scale="max"] .chat-input-area input {
  font-size: var(--synchron-input-text) !important;
  line-height: 1.3;
}

:root[data-font-scale="max"] .attach-btn,
:root[data-font-scale="max"] .voice-btn,
:root[data-font-scale="max"] #sendBtn {
  width: 58px;
  height: 58px;
  flex-basis: 58px;
  font-size: var(--synchron-navigation-text);
}

:root[data-font-scale="max"] .composer-note {
  font-size: var(--synchron-small-text);
  line-height: 1.35;
}

:root[data-font-scale="max"] .statusPanel {
  width: min(640px, calc(100vw - 24px));
  font-size: var(--synchron-readable-text);
}

:root[data-font-scale="max"] .context-label,
:root[data-font-scale="max"] .context-value,
:root[data-font-scale="max"] .log-list {
  font-size: var(--synchron-context-text);
  line-height: 1.4;
}

:root[data-font-scale="max"] .data-drawer {
  width: min(720px, 100vw);
}

:root[data-font-scale="max"] .data-drawer-header {
  min-height: 100px;
}

:root[data-font-scale="max"] .data-drawer-header h2 {
  font-size: var(--synchron-heading-text);
}

:root[data-font-scale="max"] .data-drawer-kicker,
:root[data-font-scale="max"] .drawer-section h3,
:root[data-font-scale="max"] .memory-badge,
:root[data-font-scale="max"] .permission-badge {
  font-size: var(--synchron-small-text);
  line-height: 1.35;
}

:root[data-font-scale="max"] .drawer-state,
:root[data-font-scale="max"] .memory-card,
:root[data-font-scale="max"] .permission-card,
:root[data-font-scale="max"] .work-center-intro {
  font-size: var(--synchron-readable-text);
  line-height: 1.5;
}

:root[data-font-scale="max"] .memory-card p,
:root[data-font-scale="max"] .permission-card p {
  font-size: inherit;
  line-height: inherit;
}

:root[data-font-scale="max"] .work-center-card {
  min-height: 138px;
  grid-template-columns: 58px minmax(0, 1fr) 28px;
  gap: 16px;
  padding: 20px;
}

:root[data-font-scale="max"] .work-center-icon {
  width: 58px;
  height: 58px;
  font-size: var(--synchron-icon-text);
}

:root[data-font-scale="max"] .work-center-card strong {
  font-size: var(--synchron-card-title);
  line-height: 1.3;
}

:root[data-font-scale="max"] .work-center-description {
  font-size: var(--synchron-card-description);
  line-height: 1.45;
}

:root[data-font-scale="max"] .work-center-status {
  font-size: var(--synchron-card-status);
  line-height: 1.35;
  white-space: normal;
}

:root[data-font-scale="max"] .work-center-capabilities-title {
  font-size: var(--synchron-card-title);
}

:root[data-font-scale="max"] .work-center-capabilities-note,
:root[data-font-scale="max"] .work-center-capability-heading,
:root[data-font-scale="max"] .work-center-capability-group li {
  font-size: var(--synchron-card-description);
  line-height: 1.4;
}

:root[data-font-scale="max"] .work-center-close {
  min-height: 70px;
  font-size: var(--synchron-readable-text);
}

:root[data-font-scale="max"] .work-center-status.warning {
  color: #8a4b00;
  background: #fff4df;
}

@media (max-width: 760px) {
  :root[data-font-scale="max"] .sidebar.mobile-visible {
    width: min(94vw, 420px);
  }

  :root[data-font-scale="max"] .chat-toolbar {
    min-height: 74px;
  }

  :root[data-font-scale="max"] .mobile-menu {
    font-size: var(--synchron-icon-text);
  }

  :root[data-font-scale="max"] #chatMessages {
    padding: 18px 12px 8px;
  }

  :root[data-font-scale="max"] .user-turn {
    max-width: 96%;
  }

  :root[data-font-scale="max"] .message {
    font-size: var(--synchron-chat-text) !important;
  }

  :root[data-font-scale="max"] .composer-wrap {
    padding-inline: 8px;
  }

  :root[data-font-scale="max"] .data-drawer-body {
    padding: 16px 12px;
  }
}

@media (max-width: 520px) {
  :root[data-font-scale="max"] .model-title small {
    display: none;
  }

  :root[data-font-scale="max"] .work-center-card {
    min-height: 0;
    grid-template-columns: 58px minmax(0, 1fr);
  }

  :root[data-font-scale="max"] .work-center-arrow {
    display: none;
  }

  :root[data-font-scale="max"] .permission-card,
  :root[data-font-scale="max"] .tool-status-card,
  :root[data-font-scale="max"] .memory-card {
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
  }
}
