.share-downloads { position: relative; flex: 0 0 auto; font: 14px/1.4 system-ui, sans-serif; }
.share-downloads summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 6px; color: inherit; }
.share-downloads summary::-webkit-details-marker { display: none; }
.share-downloads summary:hover, .share-downloads[open] summary { background: var(--btn-hover, #ffffff26); }
.share-download-menu { position: absolute; z-index: 1; right: 0; top: calc(100% + 8px); width: min(280px, calc(100vw - 40px)); box-sizing: border-box; max-height: 65dvh; overflow-y: auto; background: #fff; color: #172033; border: 1px solid #94a3b8; border-radius: 8px; padding: 10px; text-align: left; box-shadow: 0 3px 12px #0003; }
.presentation-overlay .share-downloads { color: white; }
.presentation-overlay .share-download-menu { top: auto; bottom: calc(100% + 12px); }
.presentation-overlay:has(.share-downloads[open]), .presentation-overlay:focus-within { opacity: 1; pointer-events: auto; }
.presentation-overlay:has(.share-downloads) { max-width: calc(100vw - 16px); box-sizing: border-box; gap: 6px; padding: 8px 12px; }
.presentation-overlay:has(.share-downloads) .presentation-viewpoint-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.presentation-overlay:has(.share-downloads) .btn-pres { flex-shrink: 0; }
.share-downloads select, .share-downloads a, .share-downloads small { display: block; margin-top: 10px; }
.share-downloads select { width: 100%; font: inherit; padding: 6px; }
.share-downloads a { color: #1746aa; padding: 4px; }
.share-downloads small { color: #475569; }
.share-downloads :focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
.page-order-controls { display: flex; align-items: center; gap: 6px; }
.page-order-controls select, .page-order-controls input { max-width: 110px; padding: 6px; font: inherit; }
.page-order-controls input { width: 56px; }

/* Match native selects/number inputs and their option lists to the interface. */
:root { --share-control-bg: #202632; --share-control-fg: #e8eaf0; --share-control-border: #647084; --share-control-muted: #b5becc; --share-control-scheme: dark; --share-link: #9bc5ff; }
[data-theme="light"] { --share-control-bg: #fff; --share-control-fg: #172033; --share-control-border: #94a3b8; --share-control-muted: #475569; --share-control-scheme: light; --share-link: #1746aa; }
.page-order-controls select, .page-order-controls input, .share-downloads select,
.show-builder input, .show-builder button {
  color-scheme: var(--share-control-scheme);
  background: var(--share-control-bg); color: var(--share-control-fg);
  border: 1px solid var(--share-control-border); border-radius: 5px;
}
.page-order-controls option, .share-downloads option { background: var(--share-control-bg); color: var(--share-control-fg); }
.share-download-menu { background: var(--share-control-bg); color: var(--share-control-fg); border-color: var(--share-control-border); }
.share-downloads a { color: var(--share-link); }
.share-downloads small { color: var(--share-control-muted); }
