#vg-join-groups{display:block;width:100%;margin:10px 0 0;padding:15px 12px;border:1px solid rgba(255,255,255,.45);border-radius:14px;color:#fff;font-weight:900;letter-spacing:1px;font-size:13px;cursor:pointer;background:linear-gradient(110deg,#ff3cac 0%,#784ba0 48%,#2b86c5 100%);box-shadow:0 7px 22px #5b2e9444}
#vg-overlay{position:absolute;inset:0;z-index:1100;display:flex;flex-direction:column;overflow:hidden;border-radius:inherit;background:linear-gradient(135deg,#100c22,#17102e);color:#fff;font-family:inherit}#vg-overlay *{box-sizing:border-box}.vg-head{display:flex;align-items:center;gap:12px;padding:13px 15px;background:#0005;border-bottom:1px solid #ffffff22;flex-shrink:0}.vg-back{border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer}.vg-title{font-weight:900;color:#00ffcc;letter-spacing:.7px;flex:1}.vg-small{font-size:10px;opacity:.65}.vg-list{overflow:auto;flex:1;padding:16px;display:flex;flex-direction:column;gap:11px}/* Each group receives its own deterministic two-colour gradient from its ID. */
.vg-group-btn{position:relative;overflow:hidden;width:100%;padding:17px 16px;border:1px solid rgba(255,255,255,.22);border-radius:16px;color:#fff;font-weight:800;text-align:left;cursor:pointer;background:linear-gradient(125deg,#6257e8 0%,#2477e8 100%);box-shadow:0 8px 22px rgba(17,24,80,.25),inset 0 1px 0 rgba(255,255,255,.16);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.vg-group-btn:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.12),transparent 48%);opacity:.75}
.vg-group-btn:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 12px 26px rgba(10,20,60,.32),inset 0 1px 0 rgba(255,255,255,.2)}
.vg-group-btn:active{transform:translateY(0);filter:brightness(.98)}
.vg-group-btn:disabled{background:#555!important;color:#ddd;cursor:not-allowed;opacity:.8}.vg-suggest-link{font-size:10px;font-weight:900;padding:8px 10px;border-radius:6px;background:#ffffff14;border:1px solid #ffffff44;color:#fff;cursor:pointer}.vg-form{display:flex;gap:8px;padding:13px;border-top:1px solid #ffffff22;flex-shrink:0}.vg-form textarea,.vg-form input{min-width:0;flex:1;background:#090713;color:#fff;border:1px solid #ffffff33;border-radius:10px;padding:12px}.vg-action{border:1px solid #00ffcc88;background:#00ffcc18;color:#00ffcc;font-weight:900;padding:10px 12px;border-radius:10px;cursor:pointer}.vg-message{max-width:88%;width:fit-content;min-width:44%;padding:12px 15px;border:1px solid #ffffff25;border-radius:18px;background:#ffffff0d;margin:0 0 12px;overflow-wrap:anywhere;white-space:pre-wrap}.vg-message.mine{align-self:flex-end;background:#6c5ce740;border-color:#9b8dff66}.vg-message.theirs{align-self:flex-start}.vg-message-author{font-size:10px;color:#00ffcc;font-weight:900;margin-bottom:6px}.vg-msg-stream{flex:1;min-height:0;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:0}.vg-msg-stream:before{content:"";margin-top:auto}.vg-note{font-size:12px;opacity:.7;text-align:center;padding:20px}.vg-support{float:right;padding:6px 8px;font-size:9px;border-radius:7px;border:1px solid #ffffff55;color:#fff;background:#ffffff15;cursor:pointer}.vg-status{font-size:11px;opacity:.8;padding:8px 13px}

/* Inline JOIN affordance: stays inside each gradient group button, never a separate white overlay. */
.vg-group-btn{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;min-height:78px}
.vg-group-main{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px;position:relative;z-index:1}
.vg-group-name{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.vg-group-meta{font-size:10px;font-weight:700;letter-spacing:.35px;opacity:.82}
.vg-group-join{position:relative;z-index:1;flex-shrink:0;padding:7px 11px;border-radius:999px;border:1px solid #ffffff88;background:#ffffff20;color:#fff;font-size:10px;font-weight:900;letter-spacing:.6px;box-shadow:inset 0 1px 0 #ffffff33}
.vg-group-btn.vg-is-joined .vg-group-join{background:#00ffcc24;border-color:#00ffccaa;color:#dffff8}
.vg-group-open-note{font-size:11px;color:#d8fff5;background:#00ffcc10;border:1px solid #00ffcc33;border-radius:10px;padding:10px 12px;flex-shrink:0}
/* Group phase header: JOIN stays on the right; phase back arrow remains on the left. */
.vg-head{gap:10px;min-height:62px}.vg-head-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.vg-title{line-height:1.25;overflow-wrap:anywhere}.vg-phase-join{flex-shrink:0;border:1px solid rgba(255,255,255,.68);border-radius:999px;padding:9px 15px;background:linear-gradient(135deg,#7c5cff,#3b82f6);color:#fff;font-size:11px;font-weight:900;letter-spacing:.6px;cursor:pointer;box-shadow:0 4px 12px #0003}.vg-phase-join:disabled{opacity:.85;cursor:default}.vg-phase-join.vg-phase-joined{background:#00a878;border-color:#68f4c4;color:#fff}.vg-msg-form-locked{opacity:.82}.vg-msg-form-locked textarea{cursor:not-allowed}.vg-action:disabled{opacity:.45;cursor:not-allowed}
