/* V1Ron DHM 2.9.0 — Frontend CSS — Dark Studio Theme */

/* ═══════════════════════════════════════════════════════════
   DESIGN TOKENS — mirrors Studio's dark palette
   ══════════════════════════════════════════════════════════ */
:root {
  --v1-bg:        #0e0e16;   /* page / wrap bg — same near-black as Studio */
  --v1-surface:   #16161f;   /* panel / bubble surface */
  --v1-surface2:  #1e1e2e;   /* slightly lighter surface */
  --v1-border:    rgba(255,255,255,.07);
  --v1-gold:      #c9a84c;   /* Studio accent gold */
  --v1-gold-lt:   #e4c97e;
  --v1-teal:      #7fe4d8;
  --v1-purple:    #7c3aed;
  --v1-purple-lt: #a78bfa;
  --v1-text:      #f0ece4;   /* Studio primary text */
  --v1-text-sub:  #94a3b8;
  --v1-radius:    14px;
  --v1-shadow:    0 8px 40px rgba(0,0,0,.55);
  --im-blue:      #6d28d9;   /* user bubble — deep purple instead of iOS blue */
  --im-radius:    18px;
}

/* ═══ Chat Wrap ═══════════════════════════════════════════════ */
.v1ron-chat-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 840px;
  max-width: 680px;
  margin: 0 auto;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--v1-radius);
  box-shadow: var(--v1-shadow);
  background: var(--v1-bg);
  overflow: hidden;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--v1-text);
}

/* ═══ Header ══════════════════════════════════════════════════ */
.v1ron-chat-head {
  display: flex;
  flex-direction: column;
  background: #0b0b13;
  border-bottom: 1px solid rgba(201,168,76,.18);
  flex-shrink: 0;
}

/* Row 1 — avatar + stats */
.v1ron-chat-head-row1 {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px 8px;
}
.v1ron-chat-head-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(201,168,76,.45);
  flex-shrink: 0;
  box-shadow: 0 0 12px rgba(201,168,76,.18);
}
.v1ron-chat-head-avatar-ph {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(201,168,76,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}

/* Stats row */
.v1ron-chat-head-stats {
  display: flex;
  flex: 1;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
}
.v1ron-head-stat {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 11px;
  font-size: 12px;
  white-space: nowrap;
  border-right: 1px solid rgba(255,255,255,.07);
  color: var(--v1-text-sub);
}
.v1ron-head-stat:last-child { border-right: none; }
.v1ron-head-stat-name { font-weight: 700; font-size: 14px; color: var(--v1-gold-lt); }
.v1ron-head-stat-label { opacity: .6; }
.v1ron-head-stat strong { color: var(--v1-text); }

/* Openness pill */
.v1ron-openness-display {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(127,228,216,.08);
  color: var(--v1-teal);
  transition: background .3s, color .3s;
}
.v1ron-op-strict   { background: rgba(147,197,253,.12); color: #93c5fd; }
.v1ron-op-reserved { background: rgba(147,197,253,.15); color: #93c5fd; }
.v1ron-op-guarded  { background: rgba(196,181,253,.12); color: #c4b5fd; }
.v1ron-op-warming  { background: rgba(253,224,71,.10);  color: #fcd34d; }
.v1ron-op-open     { background: rgba(251,146,60,.10);  color: #fb923c; }
.v1ron-op-vopen    { background: rgba(239,68,68,.10);   color: #f87171; }
.v1ron-op-full     { background: rgba(239,68,68,.18);   color: #ef4444; }

/* v2.9.6: Inline fullscreen button — sits right after affection in Row 1 */
.v1ron-fs-inline-btn {
  background: none;
  border: 1px solid rgba(255,255,255,.13);
  color: rgba(240,236,228,.45);
  border-radius: 6px;
  padding: 1px 6px;
  font-size: 13px;
  cursor: pointer;
  line-height: 1.4;
  transition: color .15s, border-color .15s, background .15s;
  margin-left: 4px;
  vertical-align: middle;
  font-family: inherit;
}
.v1ron-fs-inline-btn:hover {
  color: var(--v1-gold-lt);
  border-color: rgba(201,168,76,.4);
  background: rgba(201,168,76,.08);
}
/* When fullscreen, show ✕ style */
.v1ron-chat-wrap.v1ron-is-fullscreen .v1ron-fs-inline-btn {
  color: #f87171;
  border-color: rgba(239,68,68,.3);
}
.v1ron-chat-wrap.v1ron-is-fullscreen .v1ron-fs-inline-btn:hover {
  background: rgba(239,68,68,.1);
  border-color: rgba(239,68,68,.5);
}

/* v2.9.6: SA icon badge — compact superhero icon replacing text label */
.v1ron-sa-icon-badge {
  display: inline-block;
  font-size: 15px;
  cursor: default;
  vertical-align: middle;
  filter: drop-shadow(0 0 4px rgba(201,168,76,.6));
  transition: filter .2s;
}
.v1ron-sa-icon-badge:hover { filter: drop-shadow(0 0 8px rgba(201,168,76,.9)); }

/* Row 2 — action buttons */
.v1ron-chat-head-row2 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  padding: 6px 16px 10px;
}
.v1ron-chat-head-btn {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  color: var(--v1-text-sub);
  border-radius: 7px;
  padding: 4px 11px;
  font-size: 11.5px;
  cursor: pointer;
  transition: .18s;
  white-space: nowrap;
  font-family: inherit;
}
.v1ron-chat-head-btn:hover {
  background: rgba(201,168,76,.12);
  border-color: rgba(201,168,76,.35);
  color: var(--v1-gold-lt);
}

/* ═══ Messages area ═══════════════════════════════════════════ */
.v1ron-chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 16px 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--v1-bg);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.v1ron-chat-messages::-webkit-scrollbar { width: 0; background: transparent; }
.v1ron-chat-welcome {
  text-align: center;
  padding: 40px 20px;
  font-size: 15px;
  color: var(--v1-text-sub);
}

/* ═══ Message bubbles ═════════════════════════════════════════ */
.v1ron-chat-msg {
  display: flex;
  gap: 8px;
  max-width: 82%;
  animation: im-pop .25s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes im-pop {
  0%   { opacity:0; transform: scale(.85) translateY(6px); }
  100% { opacity:1; transform: scale(1) translateY(0); }
}

/* User — right, gold-tinted purple */
.v1ron-chat-msg-user {
  margin-left: auto;
  flex-direction: row-reverse;
  animation: im-pop-right .25s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes im-pop-right {
  0%   { opacity:0; transform: scale(.85) translateY(6px) translateX(8px); }
  100% { opacity:1; transform: scale(1) translateY(0) translateX(0); }
}

/* Assistant — left */
.v1ron-chat-msg-assistant { margin-right: auto; }

.v1ron-chat-msg-avatar-wrap { display:flex; align-items:flex-end; flex-shrink:0; }
.v1ron-chat-msg-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid rgba(201,168,76,.3);
}
.v1ron-chat-msg-avatar-ph {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(201,168,76,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.v1ron-chat-bubble {
  padding: 11px 15px;
  line-height: 1.65;
  font-size: 14.5px;
  max-width: 100%;
  word-break: break-word;
  letter-spacing: .01em;
}

/* User bubble — deep purple gradient */
.v1ron-bubble-user {
  background: linear-gradient(135deg, #6d28d9 0%, #5b21b6 100%);
  color: #fff;
  border-radius: var(--im-radius) var(--im-radius) 4px var(--im-radius);
  box-shadow: 0 2px 12px rgba(109,40,217,.35);
}

/* Assistant bubble — dark surface */
.v1ron-bubble-assistant {
  background: var(--v1-surface2);
  color: var(--v1-text);
  border-radius: var(--im-radius) var(--im-radius) var(--im-radius) 4px;
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 2px 10px rgba(0,0,0,.25);
}

/* ═══ Typing indicator ════════════════════════════════════════ */
.v1ron-chat-typing {
  display: none;
  margin-right: auto;
  animation: im-pop .2s ease both;
}
.v1ron-typing-bubble {
  background: var(--v1-surface2);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--im-radius) var(--im-radius) var(--im-radius) 4px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 56px;
}
.v1ron-typing-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--v1-text-sub);
  animation: im-typing 1.2s infinite ease-in-out;
}
.v1ron-typing-dot:nth-child(1) { animation-delay: 0s; }
.v1ron-typing-dot:nth-child(2) { animation-delay: .2s; }
.v1ron-typing-dot:nth-child(3) { animation-delay: .4s; }
@keyframes im-typing {
  0%,60%,100% { transform: translateY(0); background: var(--v1-text-sub); }
  30%          { transform: translateY(-4px); background: var(--v1-gold); }
}

/* ═══ Media placeholder ═══════════════════════════════════════ */
.v1ron-chat-media-gen {
  min-width: 180px;
  min-height: 120px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(135deg, #1a1a2e, #0f0f1c);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(201,168,76,.15);
}
.v1ron-chat-media-gen::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(201,168,76,.06) 50%, transparent 100%);
  background-size: 200% 100%;
  animation: im-shimmer 1.8s infinite ease-in-out;
}
@keyframes im-shimmer {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}
.v1ron-media-gen-icon { font-size: 28px; z-index: 1; animation: im-pulse 1.8s infinite ease-in-out; }
@keyframes im-pulse {
  0%,100% { transform: scale(1); opacity: .7; }
  50%      { transform: scale(1.1); opacity: 1; }
}
.v1ron-media-gen-label { font-size: 12px; color: var(--v1-gold); font-weight: 500; z-index: 1; letter-spacing: .3px; }
.v1ron-media-gen-bar { width: 70%; height: 2px; background: rgba(255,255,255,.08); border-radius: 2px; overflow: hidden; z-index: 1; }
.v1ron-media-gen-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--v1-purple), var(--v1-gold));
  border-radius: 2px;
  animation: im-progress 2s infinite ease-in-out;
}
@keyframes im-progress {
  0%   { width: 5%;  margin-left: 0; }
  50%  { width: 60%; margin-left: 20%; }
  100% { width: 5%;  margin-left: 95%; }
}

.v1ron-chat-media { margin-top: 6px; animation: im-reveal .35s cubic-bezier(.34,1.2,.64,1) both; }
@keyframes im-reveal { from { opacity:0; transform:scale(.92); } to { opacity:1; transform:scale(1); } }
.v1ron-chat-img { max-width: 240px; border-radius: 12px; cursor: pointer; display: block; transition: .2s; }
.v1ron-chat-img:hover { opacity: .92; transform: scale(1.01); }
.v1ron-chat-video { max-width: 280px; border-radius: 12px; }
.v1ron-chat-media-error { color: #f87171; font-size: 13px; padding: 8px; }

/* System notes */
.v1ron-chat-system-note { text-align: center; font-size: 11px; color: rgba(255,255,255,.3); padding: 4px 0; }

/* ═══ Ref images bar ══════════════════════════════════════════ */
.v1ron-ref-bar {
  padding: 8px 16px;
  background: rgba(201,168,76,.05);
  border-top: 1px solid rgba(201,168,76,.18);
  display: none;
}
.v1ron-ref-list { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.v1ron-ref-thumb {
  position: relative;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid rgba(201,168,76,.4);
  flex-shrink: 0;
}
.v1ron-ref-thumb img { width: 100%; height: 100%; object-fit: cover; }
.v1ron-ref-remove {
  position: absolute;
  top: 1px; right: 1px;
  width: 16px; height: 16px;
  background: rgba(239,68,68,.85);
  color: #fff;
  border: none;
  border-radius: 50%;
  font-size: 9px;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.v1ron-ref-save-status { position: absolute; bottom: 1px; right: 1px; font-size: 9px; }
.v1ron-ref-count { font-size: 12px; color: var(--v1-gold); font-weight: 600; }
.v1ron-ref-error { color: #f87171; font-size: 12px; padding: 4px 8px; background: rgba(239,68,68,.12); border-radius: 4px; display: none; border: 1px solid rgba(239,68,68,.2); }
.v1ron-sent-refs { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; align-items: center; }
.v1ron-sent-ref-thumb { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; cursor: pointer; border: 1.5px solid rgba(201,168,76,.35); }
.v1ron-sent-ref-label { font-size: 11px; opacity: .65; color: var(--v1-text); }

/* ═══ Input area ══════════════════════════════════════════════ */
.v1ron-chat-input-area {
  padding: 10px 14px;
  border-top: 1px solid rgba(255,255,255,.06);
  background: #0b0b13;
  flex-shrink: 0;
}
.v1ron-chat-input-row { display: flex; gap: 8px; align-items: flex-end; }
.v1ron-chat-input {
  flex: 1;
  border: 1.5px solid rgba(255,255,255,.10);
  border-radius: 20px;
  padding: 9px 16px;
  font-size: 14px;
  resize: none;
  outline: none;
  line-height: 1.45;
  min-height: 38px;
  max-height: 120px;
  overflow-y: auto;
  transition: .2s;
  background: rgba(255,255,255,.05);
  color: var(--v1-text);
  font-family: inherit;
}
.v1ron-chat-input::placeholder { color: rgba(255,255,255,.3); }
.v1ron-chat-input:focus {
  border-color: rgba(201,168,76,.45);
  background: rgba(255,255,255,.07);
  box-shadow: 0 0 0 3px rgba(201,168,76,.08);
}
.v1ron-send-btn {
  border: none;
  cursor: pointer;
  border-radius: 50%;
  padding: 9px;
  font-size: 16px;
  line-height: 1;
  transition: .15s;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--v1-gold);
  color: #000;
  font-weight: 700;
  box-shadow: 0 2px 10px rgba(201,168,76,.3);
}
.v1ron-send-btn:hover:not(:disabled) { background: var(--v1-gold-lt); }
.v1ron-send-btn:disabled { opacity: .35; cursor: not-allowed; }

/* ═══ Inline panels ═══════════════════════════════════════════ */
.v1ron-inline-panel {
  border-bottom: 1px solid rgba(255,255,255,.06);
  background: var(--v1-surface);
  overflow: hidden;
  flex-shrink: 0;
}
.v1ron-inline-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 700;
  color: var(--v1-gold-lt);
  border-bottom: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
}
.v1ron-inline-panel-close {
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255,255,255,.3);
  font-size: 16px;
  line-height: 1;
  padding: 2px 4px;
  transition: color .15s;
}
.v1ron-inline-panel-close:hover { color: var(--v1-text); }
.v1ron-inline-panel-list {
  max-height: 220px;
  overflow-y: auto;
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.v1ron-panel-empty { color: rgba(255,255,255,.3); font-size: 13px; text-align: center; padding: 16px 0; margin: 0; }
.v1ron-mem-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: var(--v1-text);
  line-height: 1.5;
  padding: 7px 10px;
  background: rgba(255,255,255,.04);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.06);
}
.v1ron-mem-item span { flex: 1; }
.v1ron-mem-del { background: none; border: none; color: #f87171; cursor: pointer; font-size: 15px; padding: 0; flex-shrink: 0; }
.v1ron-mem-source { font-size: 10px; color: rgba(255,255,255,.3); margin-top: 2px; }

/* ═══ Gallery panel ═══════════════════════════════════════════ */
.v1ron-gallery-grid {
  max-height: 280px;
  overflow-y: auto;
  padding: 10px 12px 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-content: start;
  scrollbar-width: none;
}
.v1ron-gallery-grid::-webkit-scrollbar { width: 0; }
.v1ron-gallery-item { position: relative; border-radius: 10px; overflow: hidden; background: var(--v1-surface2); aspect-ratio: 1/1; cursor: pointer; border: 1px solid rgba(255,255,255,.06); }
.v1ron-gallery-item img, .v1ron-gallery-item video { width: 100%; height: 100%; object-fit: cover; display: block; }
.v1ron-gallery-item:hover::after { content: '⬆ Open'; position: absolute; inset: 0; background: rgba(0,0,0,.55); color: #fff; font-size: 12px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
.v1ron-gallery-badge { position: absolute; top: 5px; left: 5px; background: rgba(0,0,0,.6); color: #fff; font-size: 10px; padding: 2px 6px; border-radius: 4px; backdrop-filter: blur(4px); }

/* ═══ Studio ══════════════════════════════════════════════ */
.v1ron-studio-wrap{max-width:1100px;margin:0 auto;padding:16px}
.v1ron-studio-tabs{display:flex;gap:4px;border-bottom:2px solid var(--v1-border);margin-bottom:20px}
.v1ron-tab-btn{padding:10px 18px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:600;color:rgba(255,255,255,.35);border-bottom:3px solid transparent;margin-bottom:-2px;transition:.2s}
.v1ron-tab-btn.active{color:var(--v1-primary);border-bottom-color:var(--v1-primary)}
.v1ron-tab-pane{display:none}
.v1ron-tab-pane.active{display:block}

/* ═══ Shop ════════════════════════════════════════════════ */
.v1ron-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-top:20px}
.v1ron-pkg-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--v1-radius);padding:24px;text-align:center;transition:.2s;cursor:pointer}
.v1ron-pkg-card:hover{border-color:var(--v1-primary);transform:translateY(-2px);box-shadow:var(--v1-shadow)}
.v1ron-pkg-card h3{margin:0 0 8px;font-size:18px;color:#1e1b4b}
.v1ron-pkg-price{font-size:28px;font-weight:800;color:var(--v1-primary);margin:10px 0}
.v1ron-pkg-credits{font-size:14px;color:#6b7280;margin:0 0 16px}
.v1ron-pkg-buy-btn{width:100%;padding:10px;background:var(--v1-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:.2s}
.v1ron-pkg-buy-btn:hover{background:#6d28d9}

/* ═══ Affection indicator ═════════════════════════════════ */
.v1ron-affection-bar{display:flex;align-items:center;gap:8px;font-size:12px;color:#c4b5fd;padding:4px 16px;background:rgba(124,58,237,.08);border-bottom:1px solid rgba(124,58,237,.15)}
.v1ron-affection-hearts{letter-spacing:2px}

/* ═══ Chat Launcher ═══════════════════════════════════════ */
.v1ron-chat-launcher{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.v1ron-cl-balance{font-size:14px;color:rgba(255,255,255,.4);margin-bottom:16px;padding:8px 12px;background:rgba(255,255,255,.04);border-radius:8px;display:inline-block}
.v1ron-cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.v1ron-cl-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:18px 14px;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,.3);transition:.2s;cursor:pointer}
.v1ron-cl-card:hover{box-shadow:0 6px 20px rgba(201,168,76,.12);border-color:rgba(201,168,76,.3);transform:translateY(-2px)}
.v1ron-cl-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;margin-bottom:8px;border:3px solid #ede9fe}
.v1ron-cl-avatar-ph{width:64px;height:64px;border-radius:50%;background:#ede9fe;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 8px}
.v1ron-cl-name{font-weight:700;font-size:14px;color:#f0ece4;margin-bottom:3px}
.v1ron-cl-aff{font-size:12px;color:rgba(255,255,255,.35);margin-bottom:10px}
.v1ron-cl-open-btn{background:#7c3aed;color:#fff;border:none;border-radius:8px;padding:7px 16px;font-size:13px;cursor:pointer;width:100%;font-weight:600;transition:.15s}
.v1ron-cl-open-btn:hover{background:#6d28d9}
.v1ron-cl-panel-wrap{margin-top:16px}
.v1ron-cl-back-btn{background:none;border:1px solid #e5e7eb;border-radius:8px;padding:6px 14px;cursor:pointer;font-size:13px;color:#7c3aed;font-weight:600;margin-bottom:12px;display:inline-flex;align-items:center;gap:6px}
.v1ron-cl-back-btn:hover{background:#f5f3ff}
.v1ron-cl-chat-panel{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}

@keyframes spin{to{transform:rotate(360deg)}}

/* ═══ Fullscreen mode ════════════════════════════════════ */
.v1ron-chat-wrap.v1ron-is-fullscreen{
  position:fixed;
  inset:0;
  z-index:999999;
  max-width:100%;
  width:100%;
  height:100%;
  height:100dvh;
  border:none;
  border-radius:0;
  box-shadow:none;
}
/* Prevent page scroll when fullscreen */
body.v1ron-fullscreen-open{
  overflow:hidden;
}
/* Fullscreen button icon swap */
.v1ron-chat-wrap.v1ron-is-fullscreen .v1ron-fullscreen-btn{
  font-size:16px;
}

/* ═══ Hide scrollbar (messages area) — iMessage style ════ */
/* Show track only on hover/scroll, invisible otherwise     */
.v1ron-chat-messages{
  scrollbar-width:none;        /* Firefox */
  -ms-overflow-style:none;     /* IE/Edge legacy */
}
.v1ron-chat-messages::-webkit-scrollbar{
  width:0px;
  background:transparent;
}

/* ═══ Lightbox ═══════════════════════════════════════════ */
.v1ron-lightbox{
  position:fixed;inset:0;
  z-index:9999999;
  display:flex;align-items:center;justify-content:center;
}
.v1ron-lightbox-backdrop{
  position:absolute;inset:0;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(6px);
  cursor:zoom-out;
}
.v1ron-lightbox-inner{
  position:relative;
  z-index:1;
  max-width:92vw;
  max-height:92vh;
  display:flex;align-items:center;justify-content:center;
  animation:v1lb-pop .2s cubic-bezier(.34,1.4,.64,1) both;
}
@keyframes v1lb-pop{
  from{opacity:0;transform:scale(.88)}
  to{opacity:1;transform:scale(1)}
}
.v1ron-lightbox-img{
  max-width:92vw;max-height:88vh;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 8px 48px rgba(0,0,0,.6);
  display:none;
}
.v1ron-lightbox-video{
  max-width:92vw;max-height:88vh;
  border-radius:10px;
  box-shadow:0 8px 48px rgba(0,0,0,.6);
  display:none;
  background:#000;
}
.v1ron-lightbox-close,
.v1ron-lightbox-download{
  position:fixed;
  top:16px;
  width:40px;height:40px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
  cursor:pointer;
  transition:.15s;
  z-index:2;
  text-decoration:none;
}
.v1ron-lightbox-close{
  right:16px;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
}
.v1ron-lightbox-close:hover{background:rgba(255,255,255,.3)}
.v1ron-lightbox-download{
  right:64px;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  font-size:16px;
}
.v1ron-lightbox-download:hover{background:rgba(255,255,255,.3)}

/* ═══ Bond level badge ════════════════════════════════════ */
.v1ron-bond-badge{
  display:inline-block;
  background:var(--v1-primary);
  color:#fff;
  font-size:10px;
  font-weight:700;
  padding:2px 7px;
  border-radius:10px;
  margin-left:6px;
  letter-spacing:.3px;
  vertical-align:middle;
  text-transform:uppercase;
}

/* ═══ v2.6.0: Openness level on launcher cards ══════════ */
.v1ron-cl-openness{font-size:11px;color:#6d28d9;margin-top:2px;font-weight:600}

/* ═══════════════════════════════════════════════════════════
   v2.6.7 — Reference Library Styles
   ════════════════════════════════════════════════════════════ */
.v1ron-ref-lib-panel { background:#13131f; border-bottom:1px solid rgba(201,168,76,.15); max-height:460px; overflow-y:auto; }
.v1ron-ref-lib-info-bar { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 14px; background:rgba(201,168,76,.06); border-bottom:1px solid rgba(201,168,76,.12); flex-wrap:wrap; }
.v1ron-ref-lib-info-text { font-size:12px; color:rgba(228,201,126,.7); flex:1; }
.v1ron-ref-lib-upload-label { font-size:12px; cursor:pointer; white-space:nowrap; padding:5px 10px; background:rgba(201,168,76,.15); color:#e4c97e; border-radius:6px; border:1px solid rgba(201,168,76,.3); }
.v1ron-ref-lib-upload-label:hover { background:rgba(201,168,76,.25); }
.v1ron-ref-lib-grid { padding:10px 14px; display:flex; flex-direction:column; gap:10px; }
.v1ron-ref-lib-loading, .v1ron-ref-lib-empty { color:rgba(255,255,255,.3); font-size:13px; padding:10px 0; }
.v1ron-ref-lib-uploading { background:rgba(201,168,76,.08); border:1px dashed rgba(201,168,76,.3); border-radius:8px; padding:8px 12px; font-size:12px; color:#e4c97e; }
.v1ron-ref-lib-items { display:flex; flex-direction:column; gap:10px; }
.v1ron-ref-lib-item { display:flex; gap:10px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:10px; padding:10px; transition:border-color .2s; }
.v1ron-ref-lib-item.is-active { border-color:rgba(52,211,153,.4); background:rgba(52,211,153,.04); }
.v1ron-ref-lib-thumb-wrap { position:relative; flex-shrink:0; }
.v1ron-ref-lib-thumb { width:80px; height:80px; object-fit:cover; border-radius:8px; cursor:zoom-in; border:2px solid rgba(255,255,255,.08); }
.v1ron-ref-lib-active-badge { position:absolute; bottom:2px; left:2px; background:#34d399; color:#000; font-size:10px; font-weight:700; border-radius:4px; padding:1px 5px; }
.v1ron-ref-lib-info { flex:1; display:flex; flex-direction:column; gap:6px; }
.v1ron-ref-lib-name-inp { font-size:13px; font-weight:600; border:1px solid rgba(255,255,255,.10); border-radius:6px; padding:4px 8px; width:100%; background:rgba(255,255,255,.05); color:#f0ece4; }
.v1ron-ref-lib-name-inp:focus { outline:none; border-color:rgba(201,168,76,.4); }
.v1ron-ref-lib-det-inp { font-size:12px; border:1px solid rgba(255,255,255,.10); border-radius:6px; padding:4px 8px; width:100%; resize:vertical; background:rgba(255,255,255,.05); color:#f0ece4; }
.v1ron-ref-lib-det-inp:focus { outline:none; border-color:rgba(201,168,76,.4); }
.v1ron-ref-lib-actions { display:flex; gap:6px; flex-wrap:wrap; }
.btn-sm { font-size:11px; padding:3px 8px; border-radius:5px; cursor:pointer; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); color:#e2e8f0; font-family:inherit; }
.btn-sm:hover { background:rgba(255,255,255,.10); }
.btn-sm.is-active { background:rgba(52,211,153,.15); color:#34d399; border-color:rgba(52,211,153,.3); }
.btn-danger { border-color:rgba(239,68,68,.3); background:rgba(239,68,68,.06); color:#f87171; }
.btn-danger:hover { background:rgba(239,68,68,.12); }
/* Replace photo label styled as button */
.v1ron-ref-replace-label { font-size:11px; padding:3px 8px; border-radius:5px; cursor:pointer; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); color:#e2e8f0; display:inline-flex; align-items:center; gap:4px; line-height:1.4; }
.v1ron-ref-replace-label:hover { background:rgba(255,255,255,.10); }

/* ═══════════════════════════════════════════════════════════
   v2.6.8 — Ref Picker Tray & Library "Add to Chat" button
   ════════════════════════════════════════════════════════════ */

/* Tray that slides up above input when AI wants to generate */
.v1ron-ref-picker-tray {
  background: #1e1e2e;
  border-top: 2px solid #7c3aed;
  padding: 12px 14px 10px;
  animation: v1rp-slidein .22s ease both;
}
@keyframes v1rp-slidein { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }

/* v2.6.10: Proposed prompt preview box */
.v1ron-ref-picker-prompt-preview {
  background: rgba(124,58,237,.18);
  border: 1px solid rgba(124,58,237,.4);
  border-radius: 7px;
  padding: 8px 12px;
  margin-bottom: 10px;
  font-size: 12px;
  color: #e2e8f0;
  line-height: 1.5;
}
.v1ron-rpp-label { display:block; font-size:10px; font-weight:700; color:#a78bfa; text-transform:uppercase; letter-spacing:.06em; margin-bottom:3px; }
.v1ron-rpp-text  { display:block; color:#cbd5e1; }

/* No-refs message */
.v1ron-rp-no-refs { color:#94a3b8; font-size:12px; padding:6px 0; margin:0; }
.v1ron-rp-no-refs a { color:#a78bfa; }



.v1ron-ref-picker-header {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 700;
  color: #e2e8f0;
}
.v1ron-ref-picker-hint { font-size: 11px; font-weight: 400; color: #94a3b8; }

/* Horizontal scroll row of ref thumb cards */
.v1ron-ref-picker-list {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 6px;
  margin-bottom: 10px;
  scrollbar-width: thin;
}
.v1ron-ref-picker-card {
  flex-shrink: 0;
  width: 80px;
  cursor: pointer;
  border-radius: 8px;
  border: 3px solid transparent;
  transition: border-color .18s, transform .15s;
  position: relative;
  background: #2d2d3e;
  padding: 3px;
}
.v1ron-ref-picker-card:hover { transform: scale(1.04); }
.v1ron-ref-picker-card.selected { border-color: #7c3aed; }
.v1ron-ref-picker-card.selected::after {
  content: '✓';
  position: absolute;
  top: 3px; right: 3px;
  background: #7c3aed;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  width: 18px; height: 18px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
  text-align: center;
}
.v1ron-ref-picker-card img {
  width: 100%;
  height: 74px;
  object-fit: cover;
  border-radius: 5px;
  display: block;
}
.v1ron-ref-picker-card-name {
  font-size: 10px;
  color: #94a3b8;
  text-align: center;
  margin-top: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Action buttons in tray */
.v1ron-ref-picker-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.v1ron-ref-picker-confirm {
  background: #7c3aed;
  color: #fff;
  border: none;
  border-radius: 7px;
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
}
.v1ron-ref-picker-confirm:hover { background: #6d28d9; }
.v1ron-ref-picker-skip {
  background: transparent;
  color: #94a3b8;
  border: 1px solid #4b5563;
  border-radius: 7px;
  padding: 7px 14px;
  font-size: 12px;
  cursor: pointer;
}
.v1ron-ref-picker-skip:hover { background: #2d2d3e; color: #e2e8f0; }
.v1ron-ref-picker-cancel {
  background: transparent;
  color: #f87171;
  border: 1px solid #7f1d1d;
  border-radius: 7px;
  padding: 7px 14px;
  font-size: 12px;
  cursor: pointer;
  margin-left: auto;
  transition: background .15s, color .15s;
}
.v1ron-ref-picker-cancel:hover { background: #450a0a; color: #fca5a5; }

/* "📎 Use in Chat" button inside library ref card */
.v1ron-ref-lib-add-to-chat {
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 5px;
  cursor: pointer;
  border: 1px solid rgba(124,58,237,.4);
  background: rgba(124,58,237,.12);
  color: #c4b5fd;
  font-weight: 600;
  transition: background .15s;
  font-family: inherit;
}
.v1ron-ref-lib-add-to-chat:hover { background: rgba(124,58,237,.22); }
.v1ron-ref-lib-add-to-chat.added { background: rgba(124,58,237,.35); color: #fff; border-color: #7c3aed; }

/* Library ref item when it's currently selected for chat */
.v1ron-ref-lib-item.in-chat { border-color: rgba(124,58,237,.5); background: rgba(124,58,237,.08); }

/* v2.6.9: Ref picker auto-notice (shown when refs already attached) */
.v1ron-ref-picker-auto-notice {
  background: #1e3a5f;
  border: 1px solid #3b82f6;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 12px;
  color: #bfdbfe;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.v1ron-ref-picker-cancel-auto {
  margin-left: auto;
  background: transparent;
  border: 1px solid #3b82f6;
  border-radius: 4px;
  color: #93c5fd;
  font-size: 11px;
  padding: 2px 8px;
  cursor: pointer;
}
/* v2.6.9: Pre-selected card "In Chat" label */
.v1ron-ref-picker-card-check {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(124,58,237,0.85);
  color: #fff;
  font-size: 10px;
  text-align: center;
  padding: 2px 0;
  border-radius: 0 0 5px 5px;
}

/* ── v2.6.9c: Ref Library toolbar & Clear button ── */
.v1ron-ref-lib-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.v1ron-ref-lib-clear-active-btn {
  padding: 5px 12px;
  border-radius: 6px;
  border: 1px solid rgba(239,68,68,.3);
  background: rgba(239,68,68,.06);
  color: #f87171;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s, color .15s;
  font-family: inherit;
}
.v1ron-ref-lib-clear-active-btn:hover { background: rgba(239,68,68,.18); }

/* ── v2.6.9c: Linked memories section inside each ref card ── */
.v1ron-ref-linked-mems {
  margin-top: 8px;
  border-top: 1px solid #2d2d3e;
  padding-top: 6px;
}
.v1ron-ref-linked-mems-label {
  font-size: 11px;
  font-weight: 600;
  color: #a78bfa;
  margin-bottom: 4px;
}
.v1ron-ref-linked-mem-item {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 3px 0;
  border-bottom: 1px dotted #2d2d3e;
}
.v1ron-ref-mem-text { font-size: 11px; color: #e2e8f0; flex: 1; line-height: 1.4; }
.v1ron-ref-mem-source { font-size: 10px; color: #64748b; white-space: nowrap; }
.v1ron-ref-unlink-mem {
  background: transparent; border: none; color: #ef4444;
  cursor: pointer; font-size: 11px; padding: 0 3px; flex-shrink: 0;
}

/* ── v2.6.9c: Memory search results list ── */
.v1ron-ref-mem-result-list {
  max-height: 160px;
  overflow-y: auto;
  border: 1px solid #374151;
  border-radius: 5px;
}
.v1ron-ref-mem-result-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border-bottom: 1px solid #1f2937;
  background: #1a1a2e;
}
.v1ron-ref-mem-result-item:last-child { border-bottom: none; }
.v1ron-ref-mem-result-text { font-size: 11px; color: #cbd5e1; flex: 1; line-height: 1.3; }
.v1ron-ref-mem-link-do {
  font-size: 11px; padding: 2px 8px; border-radius: 4px;
  border: 1px solid #7c3aed; background: transparent; color: #a78bfa;
  cursor: pointer; white-space: nowrap; flex-shrink: 0;
}
.v1ron-ref-mem-link-do:hover { background: #7c3aed; color: #fff; }

/* ── v2.6.9c: Clear notice banner ── */
.v1ron-ref-lib-notice-ok {
  background: #064e3b;
  border: 1px solid #10b981;
  border-radius: 6px;
  color: #6ee7b7;
  font-size: 12px;
  padding: 8px 12px;
  margin-bottom: 8px;
}

/* ── v2.6.9d: Use for Image button ── */
.v1ron-ref-lib-use-for-image {
  background: linear-gradient(135deg, #7c3aed 0%, #5b21b6 100%);
  border: none;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  border-radius: 5px;
  padding: 4px 10px;
  font-size: 12px;
  transition: opacity .15s, transform .1s;
}
.v1ron-ref-lib-use-for-image:hover { opacity: .88; transform: translateY(-1px); }
.v1ron-ref-lib-use-for-image:disabled { opacity: .5; cursor: not-allowed; transform: none; }

/* ── v2.8.0: Presentation panel action buttons ── */
.v1ron-pres-action-btn {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  color: #e2e8f0;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background .15s, border-color .15s;
  line-height: 1.4;
  font-family: inherit;
}
.v1ron-pres-action-btn:hover {
  background: rgba(201,168,76,.08);
  border-color: rgba(201,168,76,.3);
  color: #e4c97e;
}

/* ── v2.8.3: Gen Library (Chat Gallery) ── */
.v1ron-genlib-chat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  padding: 12px;
  max-height: 480px;
  overflow-y: auto;
  background: #13131f;
}
.v1ron-genlib-card {
  border-radius: 9px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  cursor: pointer;
  transition: box-shadow .18s, transform .18s;
}
.v1ron-genlib-card:hover { box-shadow: 0 4px 18px rgba(0,0,0,.4); transform: translateY(-2px); border-color:rgba(201,168,76,.2); }
.v1ron-genlib-thumb-wrap { position: relative; width: 100%; aspect-ratio: 1/1; overflow: hidden; background: #0e0e16; }
.v1ron-genlib-thumb { width: 100%; height: 100%; object-fit: cover; display: block; }
video.v1ron-genlib-thumb { width: 100%; height: 100%; object-fit: cover; }
.v1ron-genlib-badge { position: absolute; top: 5px; left: 5px; font-size: 14px; line-height: 1; }
.v1ron-genlib-hover-actions { position: absolute; top: 4px; right: 4px; display: flex; gap: 3px; opacity: 0; transition: opacity .15s; }
.v1ron-genlib-card:hover .v1ron-genlib-hover-actions { opacity: 1; }
.v1ron-genlib-btn {
  background: rgba(0,0,0,.6);
  border: none;
  border-radius: 5px;
  color: #fff;
  font-size: 11px;
  padding: 3px 6px;
  cursor: pointer;
  transition: background .12s;
}
.v1ron-genlib-btn.delete-btn:hover { background: rgba(220,38,38,.75); }
.v1ron-genlib-btn.preview-btn:hover { background: rgba(79,70,229,.75); }
.v1ron-genlib-info { padding: 6px 8px; }
.v1ron-genlib-name { font-size: 12px; font-weight: 500; color: #e2e8f0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: text; }
.v1ron-genlib-sub { font-size: 10px; color: rgba(255,255,255,.3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }


/* ── v2.8.5: Gen Library — accordion detail row ─────────────────────────── */
.v1ron-genlib-card.is-open { outline: 2px solid #6366f1; outline-offset: 1px; }

/* Detail row spans full grid width */
.v1ron-gl-detail-row {
  grid-column: 1 / -1;
  background: #1a1a28;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  display: flex;
  gap: 14px;
  padding: 14px;
  margin: 2px 0 6px;
  animation: glDetailIn .18s ease;
}
@keyframes glDetailIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

.v1ron-gl-detail-left {
  flex-shrink: 0;
  width: 140px;
}
.v1ron-gl-detail-media {
  width: 140px;
  height: 140px;
  object-fit: cover;
  border-radius: 7px;
  display: block;
  cursor: pointer;
  border: 1px solid #dde;
}

.v1ron-gl-detail-right {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
}
.v1ron-gl-detail-close {
  position: absolute;
  top: 0; right: 0;
  background: none; border: none;
  font-size: 12px; color: rgba(255,255,255,.3);
  cursor: pointer; padding: 0;
}
.v1ron-gl-detail-close:hover { color: #f0ece4; }

.v1ron-gl-detail-section {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.v1ron-gl-detail-label {
  width: 100%;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: rgba(255,255,255,.35);
  margin-bottom: 1px;
}
.v1ron-gl-name-inp {
  flex: 1;
  font-size: 12px;
  padding: 4px 7px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 5px;
  background: rgba(255,255,255,.05);
  color: #f0ece4;
  min-width: 80px;
  font-family: inherit;
}
.v1ron-gl-name-inp:focus { outline: none; border-color: rgba(201,168,76,.4); }
.v1ron-gl-save-name {
  font-size: 11px; padding: 4px 10px;
  border-radius: 5px; border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05); cursor: pointer; color: #e2e8f0;
  white-space: nowrap; font-family: inherit;
}
.v1ron-gl-save-name:hover { background: rgba(52,211,153,.1); border-color: rgba(52,211,153,.3); color: #34d399; }
.v1ron-gl-save-name-status { font-size: 11px; color: #6b7280; }

.v1ron-gl-use-as-ref {
  font-size: 12px; padding: 5px 12px;
  border-radius: 6px; border: 1px solid rgba(201,168,76,.3);
  background: rgba(201,168,76,.08); cursor: pointer; color: #e4c97e;
  font-weight: 600; white-space: nowrap; font-family: inherit;
}
.v1ron-gl-use-as-ref:hover { background: rgba(201,168,76,.18); }
.v1ron-gl-ref-status { font-size: 11px; color: #059669; flex: 1; }
.v1ron-gl-ref-note { width: 100%; font-size: 10px; color: #9ca3af; }

/* Linked memories (top display) */
.v1ron-gl-linked-mems { width: 100%; display: flex; flex-wrap: wrap; gap: 4px; }
.v1ron-gl-no-mems { font-size: 11px; color: #9ca3af; font-style: italic; }
.v1ron-gl-linked-mem {
  display: inline-flex; align-items: center; gap: 4px;
  background: rgba(124,58,237,.12); border: 1px solid rgba(196,181,253,.25);
  border-radius: 5px; padding: 2px 6px; font-size: 11px; color: #c4b5fd;
}
.v1ron-gl-linked-mem-text { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v1ron-gl-unlink-mem {
  background: none; border: none; color: #9ca3af; cursor: pointer;
  font-size: 11px; padding: 0; line-height: 1; flex-shrink: 0;
}
.v1ron-gl-unlink-mem:hover { color: #dc2626; }

/* All-memories list */
.v1ron-gl-mem-hint { font-size: 10px; color: #9ca3af; font-weight: 400; text-transform: none; }
.v1ron-gl-mem-search {
  width: 100%; box-sizing: border-box; padding: 4px 8px; font-size: 11px;
  border: 1px solid rgba(255,255,255,.10); border-radius: 5px; background: rgba(255,255,255,.05); color: #e2e8f0;
  margin-bottom: 2px; font-family: inherit;
}
.v1ron-gl-mem-search:focus { outline: none; border-color: rgba(201,168,76,.4); }
.v1ron-gl-mem-list { width: 100%; max-height: 130px; overflow-y: auto; }
.v1ron-gl-mem-empty { font-size: 11px; color: #9ca3af; font-style: italic; }
.v1ron-gl-mem-row {
  display: flex; align-items: center; gap: 6px; padding: 3px 2px;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.v1ron-gl-mem-row.is-linked { background: rgba(124,58,237,.08); }
.v1ron-gl-mem-text {
  flex: 1; font-size: 11px; color: #cbd5e1;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.v1ron-gl-link-mem-row {
  flex-shrink: 0; font-size: 10px; padding: 2px 7px;
  border-radius: 4px; border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04); cursor: pointer; color: #94a3b8; white-space: nowrap; font-family: inherit;
}
.v1ron-gl-link-mem-row:hover { background: rgba(124,58,237,.15); border-color: rgba(139,92,246,.4); color: #c4b5fd; }
.v1ron-gl-unlink-mem-row {
  flex-shrink: 0; font-size: 10px; padding: 2px 7px;
  border-radius: 4px; border: 1px solid rgba(239,68,68,.2);
  background: rgba(239,68,68,.06); cursor: pointer; color: #f87171; white-space: nowrap; font-family: inherit;
}
.v1ron-gl-unlink-mem-row:hover { background: rgba(239,68,68,.12); }

/* ── v2.8.6: Inline upload name form (replaces overlay modal) ─────────────── */
.v1ron-ref-upload-form {
  background: rgba(201,168,76,.05);
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 8px;
  margin: 8px 12px;
}
.v1ron-ref-upload-form-inner { padding: 14px 16px; }
.v1ron-ref-upload-form-hd {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13px; font-weight: 700; color: #e4c97e; margin-bottom: 6px;
}
.v1ron-ref-upload-form-cancel {
  background: none; border: none; color: rgba(255,255,255,.3); cursor: pointer; font-size: 15px; padding: 0;
}
.v1ron-ref-upload-form-cancel:hover { color: #f0ece4; }
.v1ron-ref-upload-form-hint { font-size: 11px; color: rgba(255,255,255,.35); margin: 0 0 10px; }
.v1ron-ref-upload-form-label {
  display: block; font-size: 11px; font-weight: 700; color: rgba(255,255,255,.5); margin-bottom: 4px;
}
.v1ron-ref-upload-form-input {
  width: 100%; box-sizing: border-box; padding: 7px 9px; font-size: 13px;
  border: 1px solid rgba(255,255,255,.10); border-radius: 6px; background: rgba(255,255,255,.05);
  color: #f0ece4; margin-bottom: 10px; font-family: inherit;
}
.v1ron-ref-upload-form-input:focus { outline: none; border-color: rgba(201,168,76,.4); }
.v1ron-ref-upload-form-textarea {
  width: 100%; box-sizing: border-box; padding: 7px 9px; font-size: 12px;
  border: 1px solid rgba(255,255,255,.10); border-radius: 6px; background: rgba(255,255,255,.05);
  color: #f0ece4; resize: vertical; margin-bottom: 6px; font-family: inherit;
}
.v1ron-ref-upload-form-textarea:focus { outline: none; border-color: rgba(201,168,76,.4); }
.v1ron-ref-upload-form-status { font-size: 11px; color: #c4b5fd; margin: 0 0 10px; }
.v1ron-ref-upload-form-actions { display: flex; gap: 8px; justify-content: flex-end; }
.v1ron-ref-upload-form-btn-cancel {
  padding: 6px 14px; border-radius: 6px; border: 1px solid rgba(255,255,255,.12);
  background: transparent; color: rgba(255,255,255,.4); cursor: pointer; font-size: 12px; font-family: inherit;
}
.v1ron-ref-upload-form-btn-ok {
  padding: 6px 16px; border-radius: 6px; border: none;
  background: var(--v1-gold); color: #000; cursor: pointer; font-size: 12px; font-weight: 700; font-family: inherit;
}
.v1ron-ref-upload-form-btn-ok:hover { background: #d4af5a; }
