/* Gallery Support helper panel (same look as the wallet panel) */
.sp-overlay { position:fixed; inset:0; background:rgba(0,0,0,.72); z-index:80; opacity:0; pointer-events:none; transition:opacity .2s; }
.sp-overlay.open { opacity:1; pointer-events:auto; }
.sp-panel { position:fixed; left:0; right:0; bottom:0; z-index:90; display:flex; flex-direction:column; height:min(84vh, 680px);
  background:#0A0A0A; border-top:1px solid #C9A84C; border-radius:14px 14px 0 0; color:#E8E8E8;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; transform:translateY(100%); visibility:hidden; transition:transform .25s ease;
  padding-bottom:env(safe-area-inset-bottom, 0px); }
.sp-panel.open { transform:none; visibility:visible; }
@media (min-width:761px) {
  .sp-panel { left:auto; right:24px; bottom:24px; width:420px; height:min(640px, calc(100vh - 48px)); border:1px solid #C9A84C; border-radius:12px;
    transform:translateY(16px); opacity:0; transition:opacity .2s, transform .2s; }
  .sp-panel.open { transform:none; opacity:1; }
}
@media (prefers-reduced-motion: reduce) { .sp-panel, .sp-overlay { transition:none; } }
.sp-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 10px 12px 20px; border-bottom:1px solid #2A2A2A; flex:none; }
.sp-head h2 { margin:0; font-size:16px; font-weight:500; color:#FFF; }
.sp-head span { font-size:12px; color:#888; }
.sp-x { width:44px; height:44px; background:none; border:0; color:#FFF; font-size:22px; cursor:pointer; border-radius:6px; flex:none; }
.sp-log { flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:16px; display:flex; flex-direction:column; gap:10px; }
.sp-msg { max-width:88%; padding:11px 14px; border-radius:12px; font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
.sp-msg.bot { align-self:flex-start; background:#141414; border:1px solid #2A2A2A; border-bottom-left-radius:4px; }
.sp-msg.me { align-self:flex-end; background:#C9A84C; color:#000; border-bottom-right-radius:4px; }
.sp-msg.warn { border-color:#E06C5A; }
.sp-msg a { color:#C9A84C; }
.sp-msg b { color:#FFF; font-weight:600; }
.sp-msg.me b { color:#000; }
.sp-chips { display:flex; flex-wrap:wrap; gap:8px; align-self:flex-start; max-width:100%; }
.sp-chips span { width:100%; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#888; }
.sp-chips button { background:transparent; border:1px solid #3A3A3A; color:#E8E8E8; border-radius:999px; padding:9px 14px; font:inherit; font-size:13px; cursor:pointer; min-height:40px; text-align:left; }
.sp-chips button:hover, .sp-chips button:focus-visible { border-color:#C9A84C; color:#C9A84C; outline:none; }
.sp-form { display:flex; gap:8px; padding:12px 16px 6px; border-top:1px solid #2A2A2A; flex:none; }
.sp-form input { flex:1; min-width:0; background:#1A1A1A; border:1px solid #3A3A3A; border-radius:8px; padding:12px 14px; color:#FFF; font:inherit; font-size:16px; }
.sp-form input:focus { outline:none; border-color:#C9A84C; }
.sp-form button { background:#C9A84C; color:#000; border:0; border-radius:8px; padding:0 18px; font:inherit; font-weight:600; font-size:14px; cursor:pointer; min-height:46px; }
.sp-form button:hover { background:#D4B45C; }
.sp-note { margin:0; padding:2px 16px 12px; font-size:11px; color:#888; flex:none; }
.sp-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.sp-x:focus-visible { outline:2px solid #D4B45C; }
.sp-v { display:block; margin-bottom:2px; }
.sp-fb { display:flex; align-items:center; gap:6px; align-self:flex-start; margin:-4px 0 2px 4px; font-size:12px; color:#888; }
.sp-fb button { background:transparent; border:1px solid #2A2A2A; border-radius:999px; min-width:40px; min-height:32px; font-size:15px; cursor:pointer; }
.sp-fb button:hover, .sp-fb button:focus-visible { border-color:#C9A84C; outline:none; }
/* Open a ticket */
.sp-chips .sp-ticket { border-color:#C9A84C; color:#C9A84C; }
.sp-msg.sp-tform { width:88%; }
.sp-tf { display:flex; flex-direction:column; gap:6px; }
.sp-tf .sp-tsub { font-size:13px; color:#888; margin-bottom:4px; }
.sp-tf label { font-size:12px; letter-spacing:.06em; color:#BBB; margin-top:4px; }
.sp-tf input, .sp-tf textarea { width:100%; box-sizing:border-box; background:#1A1A1A; border:1px solid #3A3A3A; border-radius:8px; padding:11px 12px; color:#FFF; font:inherit; font-size:16px; }
.sp-tf textarea { resize:vertical; min-height:96px; }
.sp-tf input:focus, .sp-tf textarea:focus { outline:none; border-color:#C9A84C; }
.sp-tf .sp-hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.sp-tf .sp-twarn { margin:2px 0 0; font-size:12px; color:#E06C5A; }
.sp-tf .sp-terr { margin:0; font-size:13px; color:#E06C5A; min-height:0; }
.sp-tf .sp-terr:empty { display:none; }
.sp-tf button { margin-top:4px; background:#C9A84C; color:#000; border:0; border-radius:8px; min-height:46px; font:inherit; font-weight:600; font-size:15px; cursor:pointer; }
.sp-tf button:hover { background:#D4B45C; }
.sp-tf button:disabled { opacity:.6; cursor:default; }
