/* A touch screen remains a touch screen when a trackpad is connected.
   Keep targets in normal layout so their hit areas never cover a neighbour. */
@media (any-pointer: coarse) {
  #red-writing-workspace :where(button, select, summary, [role="button"]) {
    min-width: 44px !important;
    min-height: 44px !important;
    touch-action: manipulation;
  }
  /* The paper, lens divider and Board canvas own their gesture handling. */
  #red-writing-workspace :is(.writing-lens-divider, .board-node, .red-drag-handle, .red-set-drag, .red-set-material-grip) { touch-action: none; }
  #red-writing-workspace :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea, select) {
    font-size: max(16px, 1em);
  }
  /* WebKit's native select renderer can ignore min-height. */
  #red-writing-workspace select { height: 44px !important; }
  #red-writing-workspace :is(.desk-setting, .writing-ink-options label) { min-height: 44px; }
  #red-writing-workspace.red-desk-ready .red-card-organize {
    opacity: 1;
    width: 44px;
    height: 44px;
    border: 1px solid var(--red-line);
    background: var(--red-paper);
  }
  #red-writing-workspace.red-desk-ready .red-bit-card:hover { transform: none; }
  #red-writing-workspace .desk-pin { top: 10px; right: 10px; width: 44px; height: 44px; }
  #red-writing-workspace .desk-trash-piece { right: 58px; }
  #red-writing-workspace .desk-trash-piece.is-restore { right: 14px; }
  #red-writing-workspace .red-bit-card .red-bit-status { display: block; padding-right: 82px; }
  #red-writing-workspace .red-card-updated { padding-right: 48px; }
  #red-writing-workspace .desk-collection-edit { opacity: 1; }
  #red-writing-workspace .desk-tool { flex-shrink: 0; }
  #red-writing-workspace .desk-tool-divider { align-self: stretch; height: auto; }
  #red-writing-workspace .desk-library-viewbar { flex-wrap: wrap; }
  #red-writing-workspace .desk-popover { max-height: calc(100dvh - 160px); overflow-y: auto; overscroll-behavior: contain; }
  #red-writing-workspace.red-desk-ready .red-block-controls { left: -44px; width: 44px; }
  #red-writing-workspace .red-block-controls button { padding-inline: 0; }
  #red-writing-workspace .red-set-run-card { grid-template-columns: 44px minmax(0, 1fr) auto; }
  #red-writing-workspace .red-set-material-card { grid-template-columns: 44px minmax(0, 1fr) auto; }
  #red-writing-workspace .gig-calendar-week { --gig-date-row: 44px; --gig-ribbon-row: 48px; }
  #red-writing-workspace .gig-range-bar { margin-inline: 2px; }
  #red-writing-workspace :is(.red-account-menu a, .red-set-export-menu a, .studio-link) { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }
}

@media (any-pointer: coarse) and (max-width: 900px) {
  #red-writing-workspace .red-set-run-card { grid-template-columns: 44px minmax(0, 1fr); gap: 8px; }
  #red-writing-workspace .red-set-card-actions { grid-column: 1 / -1; justify-content: flex-end; flex-wrap: wrap; }
}

#red-writing-workspace .writing-keyboard { display: none; }
@media (any-pointer: coarse) {
  #red-writing-workspace .writing-keyboard { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
}
#red-writing-workspace .writing-keyboard svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
#red-writing-workspace .ink-review-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
#red-writing-workspace .ink-review .ink-review-label label { margin: 0; }
#red-writing-workspace .writing-keyboard-help { font-size: 12px; color: var(--red-muted); }
#red-writing-workspace .writing-keyboard-help summary { display: flex; align-items: center; cursor: pointer; }
#red-writing-workspace .writing-keyboard-help p { line-height: 1.6; }
