/* Nox & Vire — Tavern assistant widget styles.
 * Dark-tavern theme, bottom-left so it never collides with the feedback
 * widget (bottom-right). Hidden entirely in fullscreen (:fullscreen rule +
 * fullscreenchange JS in nox-vire.js). */
:fullscreen .nxv-root { display: none !important; }
:-webkit-full-screen .nxv-root { display: none !important; }

.nxv-root { position: fixed; left: 16px; bottom: 16px; z-index: 99990;
  font-family: Georgia, "Times New Roman", serif; }
.nxv-root.gone { display: none; }

/* Launcher: stacked raven + dove avatars */
.nxv-launcher { position: relative; width: 64px; height: 64px; border-radius: 50%;
  border: 2px solid #c4902a; background: #14100a; cursor: pointer; padding: 0;
  box-shadow: 0 4px 18px rgba(0,0,0,.6); transition: transform .15s; }
.nxv-launcher:hover { transform: scale(1.08); }
.nxv-launcher img { position: absolute; top: 2px; left: 2px; width: 56px; height: 56px;
  border-radius: 50%; object-fit: cover; }
.nxv-launcher .nxv-vire { left: auto; right: 2px; width: 34px; height: 34px;
  top: auto; bottom: 0; border: 2px solid #14100a; }

/* Panel */
.nxv-panel { display: none; position: fixed; left: 16px; bottom: 96px; z-index: 99991;
  width: 360px; max-width: calc(100vw - 32px); height: 480px; max-height: calc(100vh - 130px);
  background: #14100a; border: 1px solid #c4902a; border-radius: 12px; color: #d0bc98;
  box-shadow: 0 10px 34px rgba(0,0,0,.75); flex-direction: column; overflow: hidden; }
.nxv-panel.open { display: flex; }

.nxv-head { display: flex; align-items: center; gap: 6px; padding: 10px 12px;
  border-bottom: 1px solid #4a3a1c; background: #1e1608; }
.nxv-headface { width: 34px; height: 34px; border-radius: 50%; object-fit: cover;
  border: 1px solid #c4902a; }
.nxv-headface + .nxv-headface { margin-left: -12px; }
.nxv-headtxt { flex: 1; margin-left: 6px; line-height: 1.25; }
.nxv-headtxt strong { color: #e8c96a; font-size: .95rem; letter-spacing: .02em; }
.nxv-disc { display: block; font-size: .72rem; color: #8d7a52; font-style: italic; }
.nxv-x { background: none; border: none; color: #8d7a52; font-size: 1.3rem;
  cursor: pointer; line-height: 1; padding: 2px 6px; }
.nxv-x:hover { color: #e8c96a; }

.nxv-msgs { flex: 1; overflow-y: auto; padding: 10px 12px; display: flex;
  flex-direction: column; gap: 10px; }
.nxv-msg { display: flex; gap: 8px; align-items: flex-start; }
.nxv-msg.nxv-user { justify-content: flex-end; }
.nxv-face { width: 28px; height: 28px; border-radius: 50%; object-fit: cover;
  border: 1px solid #4a3a1c; flex-shrink: 0; }
.nxv-bubble { background: #1e1608; border: 1px solid #4a3a1c; border-radius: 10px;
  padding: 8px 10px; font-size: .88rem; line-height: 1.45; max-width: 85%; color: #e8ddc0; }
.nxv-msg.nxv-user .nxv-bubble { background: #2a1f0c; border-color: #c4902a; }
.nxv-links { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 8px; }
.nxv-links a { color: #e8c96a; font-size: .8rem; text-decoration: none;
  border-bottom: 1px dotted #c4902a; }
.nxv-links a:hover { color: #fff; }

.nxv-chips { display: flex; gap: 6px; overflow-x: auto; padding: 8px 12px;
  border-top: 1px solid #2a2010; }
.nxv-chip { flex-shrink: 0; background: #0d0a06; border: 1px solid #4a3a1c; color: #b09a6a;
  border-radius: 14px; padding: 5px 10px; font-size: .76rem; cursor: pointer;
  font-family: inherit; white-space: nowrap; }
.nxv-chip:hover { border-color: #c4902a; color: #e8c96a; }

.nxv-form { display: flex; gap: 8px; padding: 8px 12px 4px; }
.nxv-input { flex: 1; background: #0d0a06; border: 1px solid #4a3a1c; border-radius: 8px;
  color: #e8ddc0; padding: 9px 10px; font-size: .9rem; font-family: inherit; }
.nxv-input:focus { outline: none; border-color: #c4902a; }
.nxv-send { background: #c4902a; border: none; border-radius: 8px; color: #14100a;
  font-weight: bold; padding: 0 14px; font-size: .9rem; cursor: pointer; font-family: inherit; }
.nxv-send:hover { background: #e8b040; }

.nxv-foot { font-size: .68rem; color: #8d7a52; padding: 6px 12px 10px; text-align: center; }
.nxv-goodbye { background: none; border: none; color: #8d7a52; font-size: .68rem;
  cursor: pointer; text-decoration: underline; font-family: inherit; padding: 0; }
.nxv-goodbye:hover { color: #b09a6a; }

@media (max-width: 480px) {
  .nxv-launcher { width: 56px; height: 56px; }
  .nxv-launcher img { width: 48px; height: 48px; }
  .nxv-panel { bottom: 88px; height: 420px; }
}
