#social-root:empty{display:none}.social-page{position:fixed;inset:0;z-index:260;background:#f5f7f3;padding-top:env(safe-area-inset-top);overflow:auto;overscroll-behavior:contain}.social-page>header{display:flex;align-items:center;gap:16px;padding:14px 20px;background:white;position:sticky;top:0;z-index:2}.social-page h1{font-size:20px;margin:0}.social-body{max-width:600px;margin:auto;padding:20px 20px calc(28px + env(safe-area-inset-bottom))}.social-body form{display:grid;gap:16px;margin-bottom:20px}.social-body label{display:grid;gap:8px}.social-body input,.social-body textarea{width:100%;box-sizing:border-box;padding:14px;border:1px solid #dce4da;border-radius:12px;font:inherit}.social-person{display:flex;align-items:center;gap:14px;width:100%;padding:14px;background:#fff;border-bottom:1px solid #edf0ed;text-align:left}.social-person>span{flex:1}.social-person .chat-avatar{width:48px;height:48px}.social-profile{display:flex;gap:18px;background:white;padding:20px;margin-bottom:20px}.social-profile .chat-avatar{width:68px;height:68px}.social-profile h2{margin:0 0 8px}.social-profile p{font-size:14px;color:#66746c;overflow-wrap:anywhere}.social-body .menuitem{width:100%;background:white}.social-body .menuitem small{margin-left:auto;color:#8a958c}.social-request{background:white;padding:18px;border-radius:14px;margin-bottom:12px}.social-request .btn{margin-right:10px}.social-own-qr{text-align:center;padding:24px}.social-own-qr button{display:inline-flex;flex-direction:column;align-items:center;gap:8px;color:#075c38}.social-own-qr svg{width:26px;height:26px}.social-contacts{margin-left:auto}.social-id-error{color:#bd3e35;font-size:14px;min-height:20px}.social-qr-actions{display:flex;justify-content:center;gap:14px;margin:18px 0}#social-qr{display:block;width:100%;height:auto}#social-camera{display:block;width:100%;max-height:60vh;object-fit:cover;background:#10251b;border-radius:16px}#social-record{flex:1;min-width:0;height:40px;background:#eef2ed;border-radius:10px;touch-action:none;user-select:none;-webkit-touch-callout:none}.community-message audio{max-width:240px;width:100%}@media(min-width:700px){.social-page{left:50%;width:600px;transform:translateX(-50%)}}
.social-person>.avatar-framed{flex:0 0 48px;width:48px;height:48px}.social-person>span:not(.avatar-framed){text-align:left}.social-body .menuitem{padding-left:16px;padding-right:16px}
/* New actions use text only, with subtle dashed separators. */
.social-text-actions{display:flex;align-items:stretch;justify-content:center;gap:0;background:none}
.social-text-button{appearance:none;border:0;border-radius:0;background:none;box-shadow:none;color:#075c38;font:inherit;font-size:16px;padding:14px 24px;min-height:48px;cursor:pointer}
.social-text-actions>.social-text-button+.social-text-button{border-left:1px dashed rgba(120,128,123,.28)}
.social-text-button:disabled{opacity:.45;cursor:wait}.social-text-button:focus-visible,.social-scan-album:focus-visible{outline:2px solid #7bab39;outline-offset:-4px}
.social-qr-actions{margin:18px 0 0}.social-qr-actions .social-text-button{flex:1;padding:12px 8px}
.social-confirm-shade{position:fixed;inset:0;z-index:280;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.48)}
.social-confirm{width:min(100%,360px);border-radius:18px;background:#fff;overflow:hidden;text-align:center;color:#17231d;box-shadow:0 12px 50px #0002}
.social-confirm h2{margin:0;padding:30px 22px 0;font-size:21px;line-height:1.4}.social-confirm p{margin:0;padding:24px 26px 34px;color:#777;line-height:1.65;font-size:16px}
.social-confirm-actions{border-top:1px dashed rgba(120,128,123,.28)}.social-confirm-actions button{flex:1;padding:16px 12px;font-weight:600;color:#202923}.social-confirm-actions .destructive{color:#df5353}
#social-root .social-scan-page{inset:0;width:auto;transform:none;padding:0;background:#000;overflow:hidden;display:flex;flex-direction:column;max-width:none}
.social-scan-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#000}
#social-root .social-scan-page #social-camera{position:absolute;inset:0;width:100%;height:100%;max-height:none;border-radius:0;object-fit:cover;background:#000}
.social-scan-header{position:absolute;top:0;left:0;right:0;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;z-index:2;background:linear-gradient(#0006,transparent)}
.social-scan-back{display:grid;place-items:center;background:none;border:0;color:#fff;width:48px;height:48px}.social-scan-back svg{width:27px;height:27px}
.social-scan-target{position:absolute;top:46%;left:50%;width:min(72vw,320px);transform:translate(-50%,-50%);text-align:center;color:white;pointer-events:none}
.social-scan-frame{position:relative;aspect-ratio:1}.social-scan-frame i{position:absolute;width:25px;height:25px;border:0 solid white}.social-scan-frame i:nth-child(1){top:0;left:0;border-top-width:3px;border-left-width:3px}.social-scan-frame i:nth-child(2){top:0;right:0;border-top-width:3px;border-right-width:3px}.social-scan-frame i:nth-child(3){bottom:0;left:0;border-bottom-width:3px;border-left-width:3px}.social-scan-frame i:nth-child(4){bottom:0;right:0;border-bottom-width:3px;border-right-width:3px}
.social-scan-target>p{font-size:16px;margin:20px -15px 0;text-shadow:0 1px 4px #0009}.social-scan-target #social-scan-help{font-size:14px;line-height:1.5;margin-top:12px}.social-scan-target #social-scan-help:empty{display:none}
.social-scan-album{position:absolute;right:24px;bottom:24px;display:grid;place-items:center;width:52px;height:52px;color:white;cursor:pointer;border-radius:50%;background:transparent}.social-scan-album svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.social-scan-dock{flex:0 0 var(--social-scan-dock,calc(64px + env(safe-area-inset-bottom)));background:#000}
.social-save-preview{display:block;width:100%;height:auto;-webkit-touch-callout:default;user-select:auto}.social-save-help{font-size:15px;color:#637369;line-height:1.6}
@media(max-height:520px){.social-scan-target{width:min(40vh,240px)}.social-scan-target>p{margin-top:12px}.social-scan-dock{flex-basis:48px}}
