body.su-publication-open {overflow:hidden;}
.su-publication-dialog {width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:22px;color:var(--text);background:var(--surface-solid,var(--surface));border:1px solid var(--line-strong);border-radius:24px;box-shadow:0 24px 80px #0005;overflow-y:auto;font-family:inherit;}
.su-publication-dialog::backdrop {background:#0b10146b;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.su-publication-dialog [hidden],.su-publication-toast[hidden] {display:none!important;}
.su-publication-dialog header {display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;}
.su-publication-dialog h2 {margin:0;color:var(--text);font-size:24px;font-weight:800;line-height:1.25;letter-spacing:-.6px;}
.su-publication-dialog [data-pub-close] {display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border:1px solid var(--line-strong);border-radius:50%;color:var(--text-soft);background:var(--surface-2);cursor:pointer;}
.su-publication-preview {display:flex;align-items:center;gap:12px;min-height:72px;padding:10px;margin-bottom:16px;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:15px;}
.su-publication-preview img {width:42px;height:50px;flex-shrink:0;object-fit:cover;border-radius:7px;}
.su-publication-preview > div {min-width:0;}
.su-publication-preview strong {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text);font-size:12px;font-weight:800;line-height:1.6;overflow-wrap:anywhere;}
.su-publication-preview span {display:block;margin-top:5px;color:var(--text-soft);font-size:11px;}
.su-publication-copy-row {display:flex;align-items:center;gap:10px;min-width:0;padding:10px;color:var(--text-soft);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:15px;}
.su-publication-copy-row > i {flex-shrink:0;font-size:16px;}
.su-publication-copy-row input {flex:1;min-width:0;width:100%;padding:5px 0;border:0;background:transparent;color:var(--text-soft);font-size:12px;text-overflow:ellipsis;}
.su-publication-copy-row button {flex-shrink:0;min-height:42px;padding:10px 13px;border:0;border-radius:10px;background:var(--gold);color:#211b12;font-size:12px;font-weight:800;cursor:pointer;}
.su-publication-status {margin:0;color:var(--text-soft);font-size:12px;line-height:1.6;overflow-wrap:anywhere;}
.su-publication-status:not(:empty) {margin-top:13px;}
.su-publication-dialog .su-publication-search {margin:0 0 14px;}
.su-publication-people {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:340px;overflow-y:auto;padding:3px;}
.su-publication-people button {display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0;min-height:106px;padding:10px 4px;border:1px solid transparent;border-radius:15px;background:transparent;color:var(--text);cursor:pointer;}
.su-publication-people button:hover {border-color:var(--gold-deep);background:var(--gold-wash);}
.su-publication-people img {width:62px;height:62px;object-fit:cover;border-radius:50%;background:var(--surface-2);}
.su-publication-people span {max-width:100%;font-size:12px;line-height:1.5;overflow-wrap:anywhere;}
.su-publication-people button:disabled {opacity:.55;cursor:wait;}
.su-publication-footer {margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--text-soft);font-size:12px;line-height:1.6;}
.su-publication-dialog button:focus-visible {outline:2px solid var(--gold-deep)!important;outline-offset:3px;}
.su-publication-dialog input:is(:focus,:focus-visible) {outline:0!important;box-shadow:none!important;}
.su-publication-copy-row:has(input:focus-visible) {border-color:var(--text-soft);}
.su-publication-toast {position:fixed;z-index:30000;right:24px;bottom:26px;box-sizing:border-box;display:grid;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:12px;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 52px);overflow-y:auto;padding:14px;border:1px solid #4ade80;border-radius:18px;background:#166534;color:#fff;box-shadow:0 18px 48px #0005,0 3px 12px #0003;font-family:var(--font-body,inherit);font-size:13px;overflow-wrap:anywhere;animation:suPublicationToastIn .18s ease-out;}
.su-publication-toast[data-state="error"] {background:#9f1239;border-color:#fda4af;}
.su-publication-toast-icon {display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff40;border-radius:13px;background:#ffffff1f;color:#fff;}
.su-publication-toast-icon svg {display:block;width:25px;height:25px;}
.su-publication-toast-copy {min-width:0;}
.su-publication-toast-copy strong {display:block;margin:0;color:#fff;font-size:14px;font-weight:800;line-height:1.4;}
.su-publication-toast-copy span {display:block;margin-top:3px;color:#f0fdf4;font-size:13px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;}
.su-publication-toast [data-pub-toast-close] {display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff40;border-radius:12px;background:transparent;color:#fff;cursor:pointer;}
.su-publication-toast [data-pub-toast-close] svg {display:block;width:20px;height:20px;}
.su-publication-toast [data-pub-toast-close]:hover {background:#ffffff24;}
.su-publication-toast [data-pub-toast-close]:focus-visible {outline:2px solid #fff!important;outline-offset:2px;}
@keyframes suPublicationToastIn {from {opacity:0;transform:translateY(8px);}to {opacity:1;transform:translateY(0);}}
@media(prefers-reduced-motion:reduce) {.su-publication-toast {animation:none;}}
[data-publication-chat] {cursor:pointer;}
@media(max-width:700px) {
 .su-publication-dialog {padding:20px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);}
 .su-publication-dialog[data-mode="chat"] {margin:auto 0 0;width:100%;max-width:none;max-height:calc(100dvh - 12px);padding:22px 20px calc(22px + env(safe-area-inset-bottom));border:0;border-radius:24px 24px 0 0;}
 .su-publication-dialog h2 {font-size:22px;}
 .su-publication-people {max-height:32dvh;gap:5px;}
 .su-publication-people img {width:58px;height:58px;}
 .su-publication-toast {right:12px;left:12px;bottom:calc(88px + env(safe-area-inset-bottom));width:auto;max-width:none;max-height:calc(100dvh - 104px - env(safe-area-inset-bottom));gap:10px;padding:12px;}
 .su-publication-copy-row {flex-wrap:wrap;}
 .su-publication-copy-row input {min-width:120px;}
 .su-publication-copy-row button {min-height:44px;}
}
/* Group invitations use the same ShineChat recipient picker as publications. */
.su-publication-dialog .su-group-extra-link:not([hidden]){display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;margin-top:12px;padding:10px 14px;border:1px solid #d6a34e;border-radius:10px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.su-publication-dialog .su-publication-people button small{display:block;color:#a67426;font-size:10px;line-height:1.3}
.su-publication-dialog .su-publication-people button:disabled{cursor:default;opacity:.65}
