/* Inbox wallpaper themes — isolated to the active conversation column. */
[class*="right-column-module-scss-module"][class*="container"],
[class*="right-column-module"][class*="container"] { position: relative; }

.velaryn-chat-theme-toggle {
  position:absolute !important; z-index: 32; top: 10px; right: 12px; left:auto; bottom:auto;
  width:max-content; max-width:110px; min-width:30px; flex:0 0 auto; box-sizing:border-box; white-space:nowrap;
  display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px;
  border: 1px solid rgba(148,163,184,.44); border-radius: 9px; background: rgba(255,255,255,.86);
  color: #334155; box-shadow: 0 2px 10px rgba(15,23,42,.1); font: 700 11px/1 system-ui,sans-serif;
  cursor: pointer; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  transition: background-color 140ms ease, color 140ms ease, transform 100ms ease;
}
.velaryn-chat-theme-toggle svg { width: 15px; height: 15px; }
.velaryn-chat-theme-toggle:hover { background: #fff; color: #0f172a; transform: translateY(-1px); }
.velaryn-chat-theme-toggle:focus-visible { outline: 3px solid rgba(59,130,246,.35); outline-offset: 2px; }
.velaryn-chat-theme-menu {
  --picker-bg:#fff; --picker-text:#243247; --picker-muted:#66758a;
  --picker-border:#e1e7ee; --picker-hover:#f3f6fa; --picker-selected:#edf4ff;
  --picker-accent:#3566c6; --picker-shadow:0 16px 48px #16263b24,0 2px 8px #16263b0a;
  color-scheme:light;
  position:absolute; z-index:33; top:48px; right:12px; width:272px;
  max-width:calc(100% - 24px); max-height:calc(100% - 64px);
  overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box; padding:16px;
  border:1px solid var(--picker-border) !important; border-radius:18px;
  background:var(--picker-bg) !important; color:var(--picker-text) !important;
  box-shadow:var(--picker-shadow) !important; font:12px/1.4 system-ui,sans-serif;
  scrollbar-width:thin; scrollbar-color:var(--picker-border) transparent;
}
/* Scheme is explicit: Dark Reader's light mode must remain light. */
html[data-darkreader-scheme="dark"] .velaryn-chat-theme-menu,
html[data-velaryn-theme="dark"]:not([data-darkreader-scheme="light"]) .velaryn-chat-theme-menu {
  --picker-bg:#19222e; --picker-text:#edf2fa; --picker-muted:#9baabc;
  --picker-border:#354254; --picker-hover:#242f3e; --picker-selected:#253953;
  --picker-accent:#9bc1ff; --picker-shadow:0 18px 52px #0007,0 2px 8px #0003;
  color-scheme:dark;
}
html[data-darkreader-mode] .velaryn-chat-theme-menu,
html[data-darkreader-mode] .velaryn-chat-theme-menu * {
  filter:none !important;
  --darkreader-inline-bgcolor:var(--picker-bg) !important;
  --darkreader-inline-color:var(--picker-text) !important;
  --darkreader-inline-border:var(--picker-border) !important;
}
.velaryn-chat-theme-menu[hidden] { display:none; }
.velaryn-chat-theme-menu__head { display:flex; flex-direction:column; gap:2px; padding:0 2px 14px; }
.velaryn-chat-theme-menu__head > span { color:var(--picker-text) !important; font-size:14px; font-weight:750; }
.velaryn-chat-theme-menu__head small { color:var(--picker-muted) !important; font-size:10px; font-weight:400; }
.velaryn-chat-theme-menu__choices { display:grid; gap:14px; }
.velaryn-chat-theme-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin:0; }
.velaryn-chat-theme-group + .velaryn-chat-theme-group { padding-top:12px; border-top:1px solid var(--picker-border) !important; }
.velaryn-chat-theme-group__label { grid-column:1 / -1; padding:0 2px 3px; color:var(--picker-muted) !important; font-size:10px; font-weight:650; }
.velaryn-chat-theme-choice {
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) 16px;
  align-items:center; gap:7px 4px; width:100%; min-width:0; margin:0; padding:6px;
  border:1px solid transparent !important; border-radius:11px;
  background:transparent !important; color:var(--picker-text) !important;
  text-align:left; font:inherit; cursor:pointer;
  transition:background-color 120ms ease,border-color 120ms ease;
}
.velaryn-chat-theme-choice:hover { background:var(--picker-hover) !important; }
.velaryn-chat-theme-choice.is-selected { border-color:var(--picker-accent) !important; background:var(--picker-selected) !important; }
.velaryn-chat-theme-choice:focus-visible { outline:2px solid var(--picker-accent); outline-offset:2px; }
.velaryn-chat-theme-choice__preview { grid-column:1 / -1; display:block; position:relative; height:42px; border-radius:6px; box-shadow:inset 0 0 0 1px #7e8da52b; }
.velaryn-chat-theme-choice__preview::before,.velaryn-chat-theme-choice__preview::after { content:""; position:absolute; height:8px; border-radius:4px; box-shadow:0 1px 2px #0001; }
.velaryn-chat-theme-choice__preview::before { width:35%; left:10px; top:11px; background:var(--velaryn-chat-fan) !important; }
.velaryn-chat-theme-choice__preview::after { width:44%; right:10px; bottom:10px; background:var(--velaryn-chat-me) !important; }
.velaryn-chat-theme-choice b { display:block; padding-left:2px; color:var(--picker-text) !important; font-size:11px; font-weight:600; overflow-wrap:anywhere; }
.velaryn-chat-theme-choice i { display:block; width:14px; height:14px; border:0; border-radius:50%; }
.velaryn-chat-theme-choice.is-selected i { background:var(--picker-accent) !important; position:relative; }
.velaryn-chat-theme-choice.is-selected i::after { content:""; position:absolute; left:4px; top:3px; width:4px; height:6px; border:solid var(--picker-bg); border-width:0 1.5px 1.5px 0; transform:rotate(45deg); }
@media (prefers-reduced-motion:reduce) { .velaryn-chat-theme-choice,.velaryn-chat-theme-toggle { transition:none; } }
/* Theme-aware bubbles. These selectors deliberately target the MV bubble shell,
   not the message content, so media and the composer remain fully functional. */
html[data-velaryn-chat-theme] [class*="messages-box-module"][class*="scrollWrapper"] [class*="container-message-image"][class*="pto-sender"],
html[data-velaryn-chat-theme] [class*="messages-box-module"][class*="scrollWrapper"] [class*="container-message-image"][class*="pto-receiver"] {
  border: 1px solid var(--velaryn-chat-bubble-border, rgba(255,255,255,.18)) !important;
  box-shadow: 0 5px 16px rgba(2,6,23,.2) !important;
}
html[data-velaryn-chat-theme] [class*="messages-box-module"][class*="scrollWrapper"] [class*="container-message-image"][class*="pto-sender"] { background: var(--velaryn-chat-me, rgba(37,99,235,.91)) !important; color: var(--velaryn-chat-me-text, #fff) !important; border-radius: 16px 16px 4px 16px !important; }
html[data-velaryn-chat-theme] [class*="messages-box-module"][class*="scrollWrapper"] [class*="container-message-image"][class*="pto-receiver"] { background: var(--velaryn-chat-fan, rgba(15,23,42,.78)) !important; color: var(--velaryn-chat-fan-text, #f8fafc) !important; border-radius: 16px 16px 16px 4px !important; }
html[data-velaryn-chat-theme] [class*="messages-box-module"][class*="scrollWrapper"] [class*="container-message-image"] [class*="text-message"],
html[data-velaryn-chat-theme] [class*="messages-box-module"][class*="scrollWrapper"] [class*="container-message-image"] [class*="timestamp"] { color: inherit !important; }
html[data-velaryn-chat-theme] [class*="messages-box-module"][class*="scrollWrapper"] .velaryn-msg-time { color: color-mix(in srgb, currentColor 70%, transparent) !important; }

/* Each preview uses the exact same local pattern as its chat canvas. */
.velaryn-chat-theme-choice__preview {
  background-color:var(--chat-base) !important; background-image:var(--chat-pattern) !important;
  background-size:var(--chat-size); background-position:center;
}
html[data-velaryn-chat-theme] [class*="right-column-module"][class*="container"] {
  background-color:var(--chat-base) !important;
  background-image:var(--chat-pattern) !important;
  background-size:var(--chat-size) !important;
  background-repeat:repeat !important;
  background-attachment:scroll !important;
}
html[data-velaryn-chat-theme] [class*="right-column-module"][class*="container"] [class*="messages-box-module"][class*="scrollWrapper"],
html[data-velaryn-chat-theme] [class*="right-column-module"][class*="container"] [class*="messages-box-module"][class*="messagesContainer"],
html[data-velaryn-chat-theme] [class*="right-column-module"][class*="container"] [class*="Landing-module"][class*="container"] { background:transparent !important; color:var(--chat-text) !important; }

html[data-velaryn-chat-theme="linen"], .velaryn-chat-theme-choice--linen {
  --chat-base:#eef5f7; --chat-pattern:repeating-linear-gradient(90deg,#6680950c 0 1px,transparent 1px 6px),repeating-linear-gradient(0deg,#66809509 0 1px,transparent 1px 7px); --chat-size:6px 6px,7px 7px; --chat-text:#263f4f;
  --velaryn-chat-me:#38586e; --velaryn-chat-me-text:#fff; --velaryn-chat-fan:#fbfeff; --velaryn-chat-fan-text:#263f4f;
  --velaryn-chat-bubble-border:color-mix(in srgb,#263f4f 16%,transparent);
}

html[data-velaryn-chat-theme="paper"], .velaryn-chat-theme-choice--paper {
  --chat-base:#f6f0e5; --chat-pattern:repeating-linear-gradient(0deg,#7c573010 0 1px,transparent 1px 24px),linear-gradient(90deg,transparent 39px,#b0756324 39px 40px,transparent 40px); --chat-size:100% 24px,240px 100%; --chat-text:#493721;
  --velaryn-chat-me:#885329; --velaryn-chat-me-text:#fff; --velaryn-chat-fan:#fffaf1; --velaryn-chat-fan-text:#493721;
  --velaryn-chat-bubble-border:color-mix(in srgb,#493721 16%,transparent);
}

html[data-velaryn-chat-theme="sorbet"], .velaryn-chat-theme-choice--sorbet {
  --chat-base:#fff1ed; --chat-pattern:radial-gradient(ellipse at 10% 0%,#ffc99b66,transparent 60%),radial-gradient(circle,#ad87bf30 1px,transparent 1.6px),radial-gradient(circle,#df9d7233 1.5px,transparent 2px); --chat-size:100% 100%,28px 28px,53px 53px; --chat-text:#573b4c;
  --velaryn-chat-me:#99526e; --velaryn-chat-me-text:#fff; --velaryn-chat-fan:#fffcfa; --velaryn-chat-fan-text:#573b4c;
  --velaryn-chat-bubble-border:color-mix(in srgb,#573b4c 16%,transparent);
}

html[data-velaryn-chat-theme="lagoon"], .velaryn-chat-theme-choice--lagoon {
  --chat-base:#eaf6f1; --chat-pattern:repeating-radial-gradient(ellipse at 0% 0%,transparent 0 24px,#428e8c12 25px 26px,transparent 27px 52px),linear-gradient(135deg,#c7e7df44,transparent) ; --chat-size:180px 160px,100% 100%; --chat-text:#234e4c;
  --velaryn-chat-me:#276d70; --velaryn-chat-me-text:#fff; --velaryn-chat-fan:#f8fffc; --velaryn-chat-fan-text:#234e4c;
  --velaryn-chat-bubble-border:color-mix(in srgb,#234e4c 16%,transparent);
}

html[data-velaryn-chat-theme="midnight"], .velaryn-chat-theme-choice--midnight {
  --chat-base:#101a32; --chat-pattern:radial-gradient(circle at 12px 14px,#d5def45c 1px,transparent 1.6px),radial-gradient(circle at 54px 44px,#92b1df33 1px,transparent 1.6px),linear-gradient(135deg,#46589c22,transparent); --chat-size:92px 92px,137px 137px,100% 100%; --chat-text:#e3ebfc;
  --velaryn-chat-me:#425f98; --velaryn-chat-me-text:#fff; --velaryn-chat-fan:#1c2c49; --velaryn-chat-fan-text:#e3ebfc;
  --velaryn-chat-bubble-border:color-mix(in srgb,#e3ebfc 16%,transparent);
}

html[data-velaryn-chat-theme="plum"], .velaryn-chat-theme-choice--plum {
  --chat-base:#281d33; --chat-pattern:repeating-linear-gradient(45deg,transparent 0 31px,#c396d50a 32px 33px,transparent 34px 65px),repeating-linear-gradient(-45deg,transparent 0 31px,#c396d50a 32px 33px,transparent 34px 65px),radial-gradient(ellipse at 80% 0%,#985e9d22,transparent 65%); --chat-size:92px 92px,92px 92px,100% 100%; --chat-text:#f4e7f8;
  --velaryn-chat-me:#775284; --velaryn-chat-me-text:#fff; --velaryn-chat-fan:#392842; --velaryn-chat-fan-text:#f4e7f8;
  --velaryn-chat-bubble-border:color-mix(in srgb,#f4e7f8 16%,transparent);
}

html[data-velaryn-chat-theme="copper"], .velaryn-chat-theme-choice--copper {
  --chat-base:#261f1c; --chat-pattern:repeating-linear-gradient(60deg,transparent 0 47px,#d59b5314 48px 49px,transparent 50px 98px),repeating-linear-gradient(-60deg,transparent 0 47px,#d59b5314 48px 49px,transparent 50px 98px); --chat-size:114px 198px,114px 198px; --chat-text:#f2e5d2;
  --velaryn-chat-me:#885a37; --velaryn-chat-me-text:#fff; --velaryn-chat-fan:#382c25; --velaryn-chat-fan-text:#f2e5d2;
  --velaryn-chat-bubble-border:color-mix(in srgb,#f2e5d2 16%,transparent);
}

html[data-velaryn-chat-theme="abyss"], .velaryn-chat-theme-choice--abyss {
  --chat-base:#0e282d; --chat-pattern:repeating-radial-gradient(ellipse at 0% 100%,transparent 0 19px,#69c3bd10 20px 21px,transparent 22px 40px),linear-gradient(145deg,#29586622,transparent); --chat-size:240px 180px,100% 100%; --chat-text:#dcf1ee;
  --velaryn-chat-me:#286a73; --velaryn-chat-me-text:#fff; --velaryn-chat-fan:#173b40; --velaryn-chat-fan-text:#dcf1ee;
  --velaryn-chat-bubble-border:color-mix(in srgb,#dcf1ee 16%,transparent);
}

html:is([data-velaryn-chat-theme="midnight"],[data-velaryn-chat-theme="plum"],[data-velaryn-chat-theme="copper"],[data-velaryn-chat-theme="abyss"]) .velaryn-chat-theme-toggle {
  color:var(--chat-text); background:var(--chat-base); border-color:var(--velaryn-chat-bubble-border);
}
@media (max-width:700px) { .velaryn-chat-theme-toggle span { display:none; }.velaryn-chat-theme-toggle { width:30px; justify-content:center; padding:0; }.velaryn-chat-theme-menu { right:8px; } }

.velaryn-chat-theme-choice--none { margin:0 0 14px; padding:10px; border-color:var(--picker-border) !important; }
