/* iPad browser only; native, iPhone and desktop never receive this class. */
html.ipad-browser.ipad-editing-viewport .app-shell.active,
html.ipad-browser.ipad-editing-viewport #pocket-editor {
  position: fixed; top: var(--ipad-visible-top); bottom: auto;
  height: var(--ipad-visible-height); width: 100%; min-height: 0;
}
html.ipad-browser.ipad-writing-compact .header-bar { height: 44px; min-height: 44px; }
html.ipad-browser.ipad-writing-compact #pane-center { padding-bottom: 0; min-height: 0; }
html.ipad-browser.ipad-writing-compact #center-pane-body { padding: 0 6px; overflow: hidden; }
html.ipad-browser.ipad-writing-compact .workspace { margin: 0; height: 100%; min-height: 0; scroll-behavior: auto; }
html.ipad-browser.ipad-writing-compact .workspace .page-slab { height: 44px; min-height: 44px; padding: 0 76px 0 16px; }
html.ipad-browser.ipad-writing-compact .page-slab-more { width: 44px; height: 44px; }
html.ipad-browser.ipad-writing-compact .page-slab-wc { display: none; }
html.ipad-browser.ipad-writing-compact .workspace .editor-body { padding-top: 12px; padding-bottom: 48px; }
html.ipad-browser.ipad-writing-compact .workspace .doc-h1 { font-size: 24px; margin-block: 8px; }
html.ipad-browser.ipad-body-editing .workspace .doc-h1,
html.ipad-browser.ipad-body-editing .writing-title-mark { display: none; }
html.ipad-browser.ipad-editing-viewport .pocket-editor-surface { padding-bottom: 24px; }
html.ipad-browser.ipad-editing-viewport .writing-tools { width: calc(100% - 32px); max-width: 640px; }
html.ipad-browser.ipad-editing-viewport .writing-tools-row { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; padding: 0; gap: 3px; scrollbar-width: thin; }
html.ipad-browser.ipad-editing-viewport .writing-tools-row > * { flex-shrink: 0; }
html.ipad-browser .writing-tools :is(button, select, .writing-size) { min-height: 44px; }
html.ipad-browser .writing-tools .ws-tool { min-width: 44px; }
html.ipad-browser .writing-size-control { width: 88px; }
html.ipad-browser .writing-size-trigger { width: 44px; }
html.ipad-browser .writing-size-menu { z-index: 22000; }
html.ipad-browser :is(.writing-more, .writing-font-picker) { z-index: 22000; max-width: calc(100vw - 16px); }
html.ipad-browser .writing-font-results { max-height: none; }

/* Fit the existing conversation shell to the actual visible rectangle at all
   iPad widths; a phone-only media query cannot cover landscape tablets. */
html.ipad-browser.ipad-editing-viewport body .dv-reader:has(.conversation-source) {
  top: var(--ipad-visible-top); bottom: auto; height: var(--ipad-visible-height);
  min-height: 0; padding: 0; align-items: stretch;
}
html.ipad-browser.ipad-editing-viewport body .dv-reader .dv-reader-body:has(> .conversation-source) {
  height: 100%; max-height: 100%; margin-block: 0; border-radius: 0;
}
html.ipad-browser.ipad-editing-viewport .conversation-source .conversation-bar { min-height: 44px; padding-block: 0; }
html.ipad-browser.ipad-editing-viewport .conversation-source .conversation-messages { padding: 8px 20px; scroll-behavior: auto; }
html.ipad-browser.ipad-editing-viewport .conversation-composer { padding: 4px 12px 8px; }
html.ipad-browser.ipad-editing-viewport .conversation-input-dock { padding: 6px 10px; }
html.ipad-browser.ipad-editing-viewport .conversation-input-dock > textarea { max-height: min(96px, 25vh); }
html.ipad-browser.ipad-editing-viewport .conversation-context-chips { flex-wrap: nowrap; max-height: 44px; padding-bottom: 4px; }
html.ipad-browser.ipad-editing-viewport .conversation-context-chip { flex-shrink: 0; max-width: 260px; }
html.ipad-browser .conversation-source :is(.conversation-send, .conversation-context-add, .conversation-menu > summary) { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
html.ipad-browser.ipad-editing-viewport .conversation-material[open] { max-height: calc(var(--ipad-visible-height) - 160px); overflow: auto; }
html.ipad-browser.ipad-editing-viewport .conversation-menu-items { max-height: calc(var(--ipad-visible-height) - 60px); overflow: auto; }
html.ipad-browser.ipad-editing-viewport .context-picker[open] {
  position: fixed; inset: var(--ipad-visible-top) 0 auto;
  margin: 0 auto; height: min(800px, var(--ipad-visible-height));
  max-height: var(--ipad-visible-height); box-sizing: border-box;
}
html.ipad-browser.ipad-editing-viewport .context-picker-header { flex-shrink: 0; padding: 4px 16px; }
html.ipad-browser.ipad-editing-viewport .context-picker-footer { flex-shrink: 0; padding: 6px 16px; }
html.ipad-browser.ipad-editing-viewport .context-picker-sources input { margin-block: 6px; padding-block: 9px; }
html.ipad-browser.ipad-editing-viewport .context-picker-text { min-height: 100px; }
@media(max-width:850px) {
  html.ipad-browser.ipad-editing-viewport .context-picker-filters { flex-shrink: 0; min-height: 54px; padding-block: 5px; }
}

/* Resize/Move own only their hit areas. Ordinary swipes on paper/wood still
   scroll; no document-wide touch-action or selection restriction is added. */
html.ipad-browser .dv-spot .dv-handle { touch-action: none; -webkit-touch-callout: none; width: 48px; height: 48px; }
html.ipad-browser .dv-spot[data-stack-id=""] .dv-handle,
html.ipad-browser .dv-spot.dv-pile-active .dv-handle-resize { opacity: .75; pointer-events: auto; }
html.ipad-browser .dv-spot .dv-handle,
html.ipad-browser .dv-spot .dv-ipad-move {
  transform: scale(calc(1 / var(--dv-scale, 1) / var(--dv-camera-zoom, 1)));
}
html.ipad-browser.dv-safari-desk .dv-source-spot .dv-handle,
html.ipad-browser.dv-safari-desk .dv-source-spot .dv-ipad-move {
  transform: scale(calc(1 / var(--dv-camera-zoom, 1)));
}
html.ipad-browser .dv-ipad-move {
  position: absolute; left: 8px; bottom: 8px; z-index: 24;
  height: 48px; min-width: 72px; padding: 0 12px; border: 1px solid #b5a58d;
  border-radius: 8px; background: var(--slab, #2c2417); color: var(--slab-text, #f0ebe1);
  font: 14px var(--sans); touch-action: none; -webkit-touch-callout: none;
  transform-origin: center; cursor: grab;
}
html.ipad-browser .dv-spot { -webkit-touch-callout: none; }
html.ipad-browser .dv-pile-inactive .dv-ipad-move { display: none; }
html.ipad-browser .dv-grid-view .dv-spot .dv-ipad-move {
  transform: scale(calc(1 / var(--dv-grid-scale, 1)));
}
