/* ArtistOS interaction floor — loaded after every visual theme. */
:where(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--primary, var(--violet));
  outline-offset: 3px;
}

@media (pointer: coarse), (max-width: 720px) {
  :where(button, select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), summary) {
    min-block-size: 44px;
  }

  :where(button, summary, .collab-file-button, .context-chip, .campaign-choice-card, .campaign-strategy-option) {
    min-inline-size: 44px;
  }

  :where(.collab-file-button, .context-chip, .campaign-choice-card, .campaign-strategy-option) {
    min-block-size: 44px;
  }

  body :is(small, .task-meta, .category, .section-label, .eyebrow, .calendar-event, .calendar-project-option, .mini-chat-connection) {
    font-size: max(12px, .75rem);
    line-height: 1.4;
  }
}

@media (max-width: 360px) {
  .topbar {
    padding-inline: 10px;
  }

  .topbar-title {
    min-width: 0;
  }

  .topbar-title > div,
  .topbar-title h1 {
    min-width: 0;
  }

  .topbar-title h1 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .top-actions {
    flex: 0 0 auto;
  }

  .top-actions .undo-button:disabled {
    display: none;
  }

  .top-actions > .primary[data-action="quick-idea"] {
    width: 44px;
    padding: 0;
    font-size: 0;
  }

  .top-actions > .primary[data-action="quick-idea"]::before {
    content: "+";
    font-size: 18px;
  }

  .calendar-legend {
    flex-wrap: wrap;
    gap: 8px;
  }
}
