.vi-share-toast { position: fixed; left: 50%; bottom: calc(110px + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 10002; width: max-content; max-width: calc(100% - 40px); box-sizing: border-box; padding: 12px 18px; border-radius: 8px; background: var(--vh-paper); color: var(--vh-deep); font: 15px/1.4 var(--vh-body); text-align: center; }
.vi-share-back { position: fixed; inset: 0; z-index: 10000; background: var(--vh-deep); opacity: .65; }
.vi-share-sheet { position: fixed; bottom: env(safe-area-inset-bottom); left: 50%; transform: translateX(-50%); z-index: 10001; width: min(100%, 600px); box-sizing: border-box; padding: 24px; max-height: 85dvh; overflow: auto; background: var(--vh-paper); color: var(--vh-ink); border-radius: 8px 8px 0 0; font-family: var(--vh-body); }
.vi-share-sheet h3 { font: 600 24px/1.2 var(--vh-display); margin: 0 0 18px; }
.vi-share-text { width: 100%; box-sizing: border-box; height: 240px; resize: vertical; padding: 12px; border: 1px solid var(--vh-grey); border-radius: 4px; background: var(--vh-paper); color: var(--vh-ink); font: 16px/1.5 var(--vh-body); user-select: text; }
.vi-share-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.vi-share-actions button, .vi-share-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 12px; font: 600 15px var(--vh-body); border: 1px solid var(--vh-purple); border-radius: 4px; background: var(--vh-paper); color: var(--vh-purple); cursor: pointer; }
.vi-share-sheet :focus-visible { outline: 2px solid var(--vh-purple); outline-offset: 3px; }
.vi-share-sheet .vi-share-confirm { margin: 12px 0 0; color: var(--vh-purple); font: 14px/1.4 var(--vh-body); }