.rf-share-sheet{position:fixed;inset:0;z-index:2147483050;display:none;pointer-events:none}
.rf-share-sheet.on{display:block;pointer-events:auto}
.rf-share-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(6px);opacity:0;transition:opacity .28s ease}
.rf-share-sheet.on .rf-share-backdrop{opacity:1}
.rf-share-panel{position:absolute;left:0;right:0;bottom:0;max-height:min(88vh,720px);background:linear-gradient(180deg,#1a1a26 0%,#101018 100%);border-radius:22px 22px 0 0;border:1px solid rgba(255,255,255,.12);border-bottom:0;box-shadow:0 -24px 80px rgba(0,0,0,.55);display:flex;flex-direction:column;transform:translateY(105%);transition:transform .34s cubic-bezier(.2,.9,.2,1);padding-bottom:max(12px,env(safe-area-inset-bottom))}
.rf-share-sheet.on .rf-share-panel{transform:translateY(0)}
.rf-share-handle{width:42px;height:4px;border-radius:999px;background:rgba(255,255,255,.28);margin:10px auto 4px;flex-shrink:0}
.rf-share-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 16px 10px;flex-shrink:0}
.rf-share-head h3{font-family:var(--rf-title,'Space Grotesk',sans-serif);font-size:1.05rem;letter-spacing:-.03em}
.rf-share-close{border:0;background:rgba(255,255,255,.1);color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.25rem;line-height:1;cursor:pointer}
.rf-share-preview{display:flex;align-items:center;gap:12px;margin:0 16px 12px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);flex-shrink:0}
.rf-share-preview-thumb{width:48px;height:48px;border-radius:12px;object-fit:cover;background:#1f1f2b;flex-shrink:0}
.rf-share-preview-text{min-width:0;flex:1}
.rf-share-preview-text strong{display:block;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rf-share-preview-text span{display:block;color:#b8b9c8;font-size:.74rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rf-share-search{display:flex;align-items:center;gap:10px;margin:0 16px 12px;padding:0 14px;height:44px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);flex-shrink:0}
.rf-share-search i{color:#ff8ab3;font-size:.92rem}
.rf-share-search input{flex:1;border:0;background:transparent;color:#fff;font-size:16px;outline:none;min-width:0}
.rf-share-search input::placeholder{color:#9a9aad}
.rf-share-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 16px 8px}
.rf-share-section{margin-bottom:14px}
.rf-share-section h4{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#a8a9b8;margin:0 0 10px}
.rf-share-people-rail{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rf-share-people-rail::-webkit-scrollbar{display:none}
.rf-share-people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 10px}
@media(min-width:520px){.rf-share-people-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
.rf-share-person{border:0;background:transparent;color:#fff;padding:0;cursor:pointer;text-align:center;min-width:72px;max-width:88px;touch-action:manipulation}
.rf-share-person-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.16);display:block;margin:0 auto 6px;background:#1c1c28;transition:transform .15s ease,box-shadow .15s ease}
.rf-share-person:hover .rf-share-person-avatar,.rf-share-person:focus-visible .rf-share-person-avatar{transform:scale(1.04);box-shadow:0 0 0 3px rgba(255,23,77,.28)}
.rf-share-person.is-sending .rf-share-person-avatar{opacity:.55;filter:grayscale(.2)}
.rf-share-person.is-sent .rf-share-person-avatar{box-shadow:0 0 0 3px rgba(76,217,123,.45)}
.rf-share-person span{display:block;font-size:.68rem;font-weight:800;line-height:1.15;max-height:2.3em;overflow:hidden}
.rf-share-empty{padding:14px 8px;color:#9ea0b0;font-size:.82rem;text-align:center}
.rf-share-apps{flex-shrink:0;padding:12px 12px 4px;border-top:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22)}
.rf-share-apps-rail{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rf-share-apps-rail::-webkit-scrollbar{display:none}
.rf-share-app{flex:0 0 auto;width:74px;border:0;background:transparent;color:#fff;cursor:pointer;text-align:center;touch-action:manipulation}
.rf-share-app-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin:0 auto 6px;font-size:1.2rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.rf-share-app-icon.is-wa{background:linear-gradient(135deg,#25d366,#128c7e)}
.rf-share-app-icon.is-tg{background:linear-gradient(135deg,#2aabee,#229ed9)}
.rf-share-app-icon.is-ig{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af)}
.rf-share-app-icon.is-x{background:#111;border-color:rgba(255,255,255,.2)}
.rf-share-app-icon.is-fb{background:linear-gradient(135deg,#1877f2,#0d65d9)}
.rf-share-app-icon.is-mail{background:linear-gradient(135deg,#ff174d,#ff2ea6)}
.rf-share-app-icon.is-copy{background:rgba(255,255,255,.1)}
.rf-share-app-icon.is-more{background:rgba(255,255,255,.1)}
.rf-share-app span{display:block;font-size:.64rem;font-weight:800;color:#d5d6e2;line-height:1.1}
.rf-share-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(12px);opacity:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,23,77,.96),rgba(140,18,72,.94));color:#fff;padding:10px 16px;border-radius:999px;font-size:.82rem;font-weight:900;box-shadow:0 16px 40px rgba(0,0,0,.45);transition:opacity .22s ease,transform .22s ease;z-index:2147483060;max-width:min(92vw,360px);text-align:center}
.rf-share-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
body.rf-share-open{overflow:hidden!important;touch-action:none}
@media(min-width:760px){
  .rf-share-panel{left:50%;right:auto;bottom:auto;top:50%;width:min(440px,calc(100vw - 32px));max-height:min(82vh,680px);border-radius:22px;transform:translate(-50%,-48%) scale(.96);opacity:0}
  .rf-share-sheet.on .rf-share-panel{transform:translate(-50%,-50%) scale(1);opacity:1}
  .rf-share-handle{display:none}
}
