/* neverlogoff/share-sheet.css — the share sheet (a bottom sheet on phones, a dialog on wide screens)
   Logical properties throughout (RTL-ready); every control is at least 44×44 px. */
.nlo-share { border: 0; padding: 0; margin: 0; inline-size: 100%; max-inline-size: 100%; max-block-size: 92vh; inset-block-end: 0; inset-block-start: auto; border-start-start-radius: 16px; border-start-end-radius: 16px; background: #FAFAFA; color: #0A0A0A; font: 16px/1.45 "Geist", system-ui, -apple-system, "Segoe UI", sans-serif; box-shadow: 0 -8px 40px rgba(0,0,0,.18); }
.nlo-share::backdrop { background: rgba(10,10,10,.45); }
.nlo-share .ns-in { padding-block: 12px 20px; padding-inline: 16px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; max-block-size: 92vh; box-sizing: border-box; }
.nlo-share .ns-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nlo-share h2 { font-size: 1.15rem; margin: 0; }
.nlo-share .ns-card { inline-size: 100%; block-size: auto; aspect-ratio: 1200 / 630; border-radius: 10px; border: 1px solid #E4E4E7; background: #fff; object-fit: cover; display: block; }
.nlo-share .ns-link { display: flex; gap: 8px; align-items: stretch; }
.nlo-share .ns-link input { flex: 1; min-inline-size: 0; min-block-size: 44px; padding-inline: 12px; border: 1px solid #E4E4E7; border-radius: 10px; font: inherit; font-size: .95rem; background: #fff; color: inherit; }
.nlo-share .ns-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-block-size: 44px; min-inline-size: 44px; padding-inline: 14px; border-radius: 10px; border: 1px solid #0A0A0A; background: #0A0A0A; color: #FAFAFA; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; box-sizing: border-box; }
.nlo-share .ns-btn.ghost { background: #fff; color: #0A0A0A; border-color: #E4E4E7; }
.nlo-share .ns-btn:focus-visible, .nlo-share input:focus-visible { outline: 3px solid #3573b8; outline-offset: 2px; }
.nlo-share .ns-apps { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.nlo-share .ns-apps .ns-btn { inline-size: 100%; }
.nlo-share .ns-row { display: flex; flex-wrap: wrap; gap: 8px; }
.nlo-share .ns-row .ns-btn { flex: 1 1 200px; }
.nlo-share .ns-note { color: #52525B; font-size: .9rem; margin: 0; }
.nlo-share .ns-label { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: #52525B; margin: 4px 0 0; }
.nlo-share .ns-toggle { display: flex; align-items: center; gap: 10px; min-block-size: 44px; cursor: pointer; }
.nlo-share .ns-toggle input { inline-size: 22px; block-size: 22px; margin: 0; }
.nlo-share .ns-status { min-block-size: 1.4em; font-size: .9rem; color: #15803D; margin: 0; }
.nlo-share .ns-status.err { color: #B91C1C; }
.nlo-share .ns-vx { border: 1px solid #E4E4E7; border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 10px; background: #fff; }
.nlo-share .ns-vx video { inline-size: 160px; aspect-ratio: 9 / 16; border-radius: 8px; background: #0A0A0A; }
.nlo-share [hidden] { display: none !important; }
@media (min-width: 700px) {
  .nlo-share { inline-size: 560px; max-inline-size: calc(100vw - 48px); inset-block: 0; margin: auto; border-radius: 16px; max-block-size: 88vh; }
  .nlo-share .ns-in { padding: 20px 24px 24px; max-block-size: 88vh; }
}
.nlo-share-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-block-size: 44px; min-inline-size: 44px; padding-inline: 14px; border-radius: 10px; border: 1px solid #E4E4E7; background: #fff; color: #0A0A0A; font: inherit; font-weight: 600; cursor: pointer; }
