.share-modal{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;align-items:center;justify-content:center;z-index:9999}
.share-modal.open{display:flex}
.share-dialog{background:#fff;border-radius:12px;min-width:280px;max-width:90vw;padding:16px;box-shadow:0 10px 30px rgba(0,0,0,.18);font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto}
.share-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.share-close{border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer}
.share-hint{margin:.25rem 0 .5rem;color:#555}
.share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:.5rem 0 0}
.share-actions button{padding:10px;border-radius:10px;border:1px solid #ddd;background:#f9f9f9;cursor:pointer}
.share-actions button:focus,.share-actions button:hover{outline:0;border-color:#bbb;background:#f2f2f2}
.share-note{
    margin:.75rem 0 0;
    color:#777;
    font-size:12px
}
.share-toast{
    position: fixed;
    left: 50%; bottom: 24px;
    transform: translateX(-50%,-40%) translateY(10px);
    background: #34156b; color:#ffffff; 
    font: 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto;

    box-shadow: 0 10px 30px rgba(129, 60, 218, 0.856);
    opacity: 0; transition: opacity 1.2s ease, transform 1.0s ease; z-index: 10000;
}
.share-toast.show{
    opacity: 1; transform: translateX(-50%,-50%) translateY(0);
}
.share-toast{
    font-size:18px;
    padding:16px 22px;
    border-radius:14px;
}  
.share-actions{
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: .75rem;
    margin: .5rem 0 1rem 0;
}

.share-btn{
    aspect-ratio: 1/1;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.28);
    backdrop-filter: blur(6px);
    box-shadow: 0 8px 22px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.55);
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.share-btn:hover{ transform: translateY(-1px) scale(1.03); background: rgba(255,255,255,.42); }
.share-btn:active{ transform: scale(.98); }

.share-btn img {
    width: clamp(22px, 3.4vw, 32px);
    height: clamp(22px, 3.4vw, 32px);
    object-fit: contain;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.2));
}

.share-note{
    display:block;
    min-height: 2.8em;
}

.share-kbd .or{ opacity: .7; margin: 0 .25rem; }
.kbd{
    display: inline-block;
    padding: .1rem .35rem;
    margin: 0 .05rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .85em;
    border-radius: .35rem;
    background: #111;
    color: #fff;
}

.sr-only{
    position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
