html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  font: 12px "Times New Roman", Tahoma, Arial, sans-serif;
  color: #ffffff;
  background: #000033;
}

button,
input,
select {
  font: 12px Tahoma, Verdana, Arial, sans-serif;
}

img {
  border: 0;
}

.xc-login-page {
  height: 100vh;
  background: #c66900;
  color: #474747;
  font: 11px Tahoma, Verdana, Arial, sans-serif;
}

.xc-login-top {
  width: 100%;
  height: 60px;
  border-collapse: collapse;
}

.xc-login-top img {
  display: block;
}

.xc-login-fill {
  background: url("/old/iii/bg_second.gif") repeat-x left top;
}

.xc-login-main {
  width: 100%;
  border-collapse: collapse;
}

.xc-login-left {
  width: 246px;
  vertical-align: top;
  background: #f5f5f5;
}

.xc-login-left img {
  display: block;
}

.xc-login-content {
  background: #ffffff;
  vertical-align: top;
  padding: 25px;
}

.xc-login-title {
  margin: 0 0 14px;
  color: #993300;
  font-size: 18px;
}

.xc-login-box {
  width: 390px;
  background: #fff7e4;
  border: 1px solid #d0a060;
}

.xc-login-head {
  height: 22px;
  line-height: 22px;
  padding-left: 8px;
  background: #c66900;
  color: #ffffff;
  font-weight: bold;
}

.xc-login-body {
  padding: 12px;
}

.xc-row {
  margin-bottom: 8px;
}

.xc-row label {
  display: inline-block;
  width: 70px;
  font-weight: bold;
}

.xc-row input {
  width: 235px;
  height: 20px;
  border: 1px solid #999999;
}

.xc-button {
  height: 22px;
  padding: 0 18px;
  border: 1px solid #884400;
  background: #e1a04b;
  color: #3a1b00;
  cursor: pointer;
  font-weight: bold;
}

/* === XCHAT REAL ROOM LOOK === */

.xc-room {
  height: 100vh;
  min-width: 820px;
  background:
    url("../img/bgchat.gif") repeat,
    #020436;
  overflow: hidden;
}

.xc-room-frame {
  height: 100%;
  padding: 5px 4px 4px 4px;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: 64px 1fr 50px 20px;
  gap: 3px;
}

.xc-top-strip {
  display: grid;
  grid-template-columns: 185px 1fr 220px;
  gap: 4px;
  min-height: 64px;
}

.xc-logo-box {
  overflow: hidden;
  border: 1px solid #5d83d9;
  background:
    url("/old/designes/rozmova4/img/header.gif") repeat-x,
    #02023b;
  display: flex;
  align-items: center;
  justify-content: center;
}

.xc-logo-box img {
  max-width: 165px;
  max-height: 52px;
}

.xc-girls {
  border: 1px solid #5d83d9;
  background: #f4f4f4;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.xc-girl {
  background:
    linear-gradient(135deg, #ffffff, #d8d8d8);
  border-right: 1px solid #c7c7c7;
  position: relative;
}

.xc-girl::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 50% 50% 44% 44%;
  background:
    radial-gradient(circle at 50% 28%, #ffe3cf 0 20%, transparent 21%),
    radial-gradient(circle at 50% 42%, #b56b43 0 23%, transparent 24%),
    linear-gradient(#ececec, #cfcfcf);
  opacity: .85;
}

.xc-girls-text {
  position: absolute;
  z-index: 2;
  right: 16px;
  top: 11px;
  color: #0000ff;
  font: 20px Arial, sans-serif;
  background: rgba(255,255,255,.75);
  padding: 4px 8px;
}

.xc-private-box {
  border: 2px solid #b7b7b7;
  background: #1b1b39;
  color: #ffff00;
  padding: 8px;
  box-sizing: border-box;
  font: 12px Tahoma, Arial, sans-serif;
}

.xc-private-title {
  color: #ffff00;
  margin-bottom: 14px;
}

.xc-main-zone {
  display: grid;
  grid-template-columns: 1fr 230px;
  gap: 4px;
  min-height: 0;
}

.xc-chat-window {
  border: 2px solid #5d83d9;
  background:
    url("../img/chatbg.gif") repeat,
    #000000;
  overflow-y: auto;
  padding: 8px 10px;
  box-sizing: border-box;
  color: #00ffff;
  line-height: 18px;
  font: 16px "Times New Roman", serif;
}

.xc-chat-window::-webkit-scrollbar,
.xc-users-list::-webkit-scrollbar {
  width: 16px;
}

.xc-chat-window::-webkit-scrollbar-track,
.xc-users-list::-webkit-scrollbar-track {
  background: #00004a;
}

.xc-chat-window::-webkit-scrollbar-thumb,
.xc-users-list::-webkit-scrollbar-thumb {
  background: #bfc9ff;
  border: 2px solid #00004a;
}

.xc-line {
  margin: 0;
  padding: 0;
}

.xc-time {
  color: #cccccc;
}

.xc-nick {
  color: #ffcc00;
  font-weight: bold;
  cursor: pointer;
  text-decoration: underline;
}

.xc-msg-blue {
  color: #00ccff;
}

.xc-msg-cyan {
  color: #00ffff;
}

.xc-msg-pink {
  color: #ff00ff;
}

.xc-msg-orange {
  color: #ff9900;
}

.xc-msg-green {
  color: #00ff00;
}

.xc-sys {
  color: #ffcc00;
  font-style: italic;
}

.xc-act {
  color: #00ff66;
  font-style: italic;
}

.xc-priv {
  color: #ff66ff;
}

.xc-side {
  border: 1px solid #5d83d9;
  background:
    url("../img/bgchat.gif") repeat,
    #050543;
  color: #ffffff;
  display: grid;
  grid-template-rows: 42px 32px 50px 1fr;
  min-height: 0;
}

.xc-photo-toggle {
  text-align: center;
  padding-top: 8px;
  color: #ffffff;
  text-decoration: underline;
}

.xc-room-info {
  text-align: center;
  font: 15px "Times New Roman", serif;
  line-height: 18px;
  color: #ffffff;
}

.xc-room-info b {
  color: #00ffff;
}

.xc-alphabet {
  text-align: center;
  color: #66ff99;
  letter-spacing: 8px;
  font: 16px "Times New Roman", serif;
}

.xc-users-list {
  overflow-y: auto;
  padding: 2px 7px;
  box-sizing: border-box;
}

.xc-user {
  display: grid;
  grid-template-columns: 1fr 34px 16px;
  gap: 4px;
  align-items: center;
  min-height: 18px;
  color: #00ffff;
  cursor: pointer;
  font: 16px "Times New Roman", serif;
}

.xc-user:hover .xc-user-name {
  color: #ffff00;
}

.xc-user-name {
  color: #00ffff;
  text-decoration: underline;
}

.xc-user.me .xc-user-name {
  color: #66ff66;
}

.xc-user-gender {
  color: #00ff00;
  font-size: 14px;
}

.xc-star {
  color: #ff9900;
}

.xc-bottom {
  display: grid;
  grid-template-columns: 28px 94px 96px 1fr 112px 22px 22px 22px 44px 22px 22px;
  gap: 4px;
  align-items: center;
  min-height: 48px;
}

.xc-square {
  height: 23px;
  border: 1px solid #8bb6ff;
  background: #4779be;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font: bold 14px Arial, sans-serif;
}

.xc-say-select,
.xc-style-select {
  height: 23px;
  background: #071332;
  color: #66ff99;
  border: 1px solid #8bb6ff;
}

.xc-mini-input {
  height: 23px;
  background: #000000;
  color: #ffffff;
  border: 1px solid #8bb6ff;
  box-sizing: border-box;
}

.xc-message-input {
  height: 23px;
  background: #000000;
  color: #ffffff;
  border: 1px solid #8bb6ff;
  box-sizing: border-box;
  padding: 2px 5px;
}

.xc-footer-menu {
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #ffffff;
  font: 14px "Times New Roman", serif;
}

.xc-footer-menu label {
  display: flex;
  align-items: center;
  gap: 3px;
}

.xc-footer-menu input {
  width: 13px;
  height: 13px;
}

.xc-footer-menu span,
.xc-footer-menu a,
.xc-footer-menu label span {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.15s, text-shadow 0.15s;
}

.xc-footer-menu span:hover,
.xc-footer-menu a:hover,
.xc-footer-menu label:hover span {
  color: #ffff00;
  text-shadow: 0 0 6px rgba(255, 255, 0, 0.5), 0 0 12px rgba(255, 200, 0, 0.3);
  text-decoration: underline;
  cursor: pointer;
}

.xc-target {
  position: fixed;
  left: 150px;
  bottom: 58px;
  display: none;
  background: #10104d;
  border: 1px solid #8bb6ff;
  color: #ffff00;
  padding: 3px 9px;
  z-index: 5;
}

.xc-target.on {
  display: block;
}

.xc-target.private {
  background: #55003a;
  color: #ffffff;
}


/* real top logo / no fake girls block */
.xc-logo-box {
  background: url("../img/bgchat.gif") repeat, #020436 !important;
}

.xc-logo-box img {
  max-width: 176px !important;
  max-height: 58px !important;
}

.xc-top-empty {
  border: 1px solid #5d83d9;
  background: url("../img/bgchat.gif") repeat, #020436;
  min-height: 64px;
}

.xc-girls,
.xc-girl,
.xc-girls-text {
  display: none !important;
}


/* old XChat gender colors from screenshot */
.xc-user.male .xc-user-name {
  color: #67ea91 !important;
}

.xc-user.female .xc-user-name {
  color: #c281ad !important;
}

.xc-user:hover .xc-user-name {
  color: #ffff00 !important;
}


/* original action select colors */
.xc-say-select option {
  background: #071332;
}

.xc-say-select {
  color: #ffffff;
}


/* old XChat board window */
.xc-board-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 20, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
}

.xc-board-modal.hidden {
  display: none;
}

.xc-board-window {
  width: 720px;
  height: 520px;
  border: 2px solid #5d83d9;
  background: url("../img/bgchat.gif") repeat, #020436;
  box-shadow: 0 0 0 1px #000, 0 0 18px #000;
}

.xc-board-title {
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4px 0 8px;
  box-sizing: border-box;
  background: #000033;
  color: #66ffff;
  font: bold 14px "Times New Roman", serif;
  border-bottom: 1px solid #5d83d9;
}

.xc-board-title button {
  width: 24px;
  height: 19px;
  padding: 0;
  border: 1px solid #77aaff;
  background: #000;
  color: #ffffff;
  font: bold 11px Arial, sans-serif;
  cursor: pointer;
}

#boardFrame {
  width: 100%;
  height: calc(100% - 24px);
  border: 0;
  background: #000033;
}


/* native old2 XBoard, copied from old visual logic */
.xc-board-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 20, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
}

.xc-board-modal.hidden {
  display: none !important;
}

.xc-board-window {
  width: 535px !important;
  height: auto !important;
  max-height: 92vh;
  border: 2px solid #5d83d9;
  background: url("../img/chatbg.gif") repeat, #000000;
  box-shadow: 0 0 0 1px #000, 0 0 18px #000;
  overflow: hidden;
}

.xc-board-title {
  height: 23px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4px 0 8px;
  box-sizing: border-box;
  background: #000033;
  color: #66ffff;
  font: bold 13px Verdana, Arial, sans-serif;
  border-bottom: 1px solid #5d83d9;
}

.xc-board-title button {
  width: 24px;
  height: 19px;
  padding: 0;
  border: 1px solid #3d4976;
  background: #0b1920;
  color: #c0c0c0;
  font: bold 11px Arial, sans-serif;
  cursor: pointer;
}

.xc-board-body {
  max-height: calc(92vh - 23px);
  overflow-y: auto;
  padding: 15px 5px;
  box-sizing: border-box;
  background: url("../img/chatbg.gif") repeat, #000000;
  color: #C0C0C0;
  font-family: Verdana, Arial, sans-serif;
  font-size: 8pt;
}

.xc-board-body table {
  font-family: Verdana, Arial, sans-serif;
  font-size: 8pt;
}

.xboard-black2 {
  border: solid 1px #3d4976;
  background: #0b1920;
  color: #c0c0c0;
  font-size: 9pt;
  font-family: Verdana, Arial, sans-serif;
}

.xboard-black1 {
  border: solid 1px #3d4976;
  background: #0b1920;
  color: #C0C0C0;
  font-size: 8pt;
  font-family: Verdana, Arial, sans-serif;
  cursor: pointer;
}

.xboard-item {
  margin: 0 0 2px 0;
  color: #C0C0C0;
  font-family: Verdana, Arial, sans-serif;
  font-size: 8pt;
  line-height: 1.35;
}

.xboard-delete {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.xboard-delete img {
  vertical-align: middle;
}

#boardFrame {
  display: none !important;
}


/* make native board modal impossible to hide when opened */
.xc-board-modal:not(.hidden) {
  display: flex !important;
}


/* XChat native board remake */
.xboard-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 20, 0.45);
}

.xboard-modal.hidden {
  display: none !important;
}

.xboard-window {
  width: 535px;
  max-height: 92vh;
  background: url("../img/chatbg.gif") repeat #000000;
  border: 2px solid #5d83d9;
  box-shadow: 0 0 0 1px #000000, 0 0 18px #000000;
  overflow: hidden;
}

.xboard-window-title {
  height: 23px;
  background: #000033;
  color: #66ffff;
  border-bottom: 1px solid #5d83d9;
  box-sizing: border-box;
  padding: 0 4px 0 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font: bold 13px Verdana, Arial, sans-serif;
}

.xboard-window-title button {
  width: 24px;
  height: 19px;
  padding: 0;
  border: solid 1px #3d4976;
  background: #0b1920;
  color: #c0c0c0;
  font: bold 11px Arial, sans-serif;
  cursor: pointer;
}

.xboard-scroll {
  max-height: calc(92vh - 23px);
  overflow-y: auto;
  padding: 15px 5px;
  box-sizing: border-box;
  background: url("../img/chatbg.gif") repeat #000000;
  color: #C0C0C0;
  font-family: Verdana, Arial, sans-serif;
  font-size: 8pt;
}

.xboard-scroll table,
.xboard-scroll td,
.xboard-scroll p {
  color: #C0C0C0;
  font-family: Verdana, Arial, sans-serif;
  font-size: 8pt;
}

.xboard-black2 {
  border: solid 1px #3d4976;
  background: #0b1920;
  color: #c0c0c0;
  font-size: 9pt;
  font-family: Verdana, Arial, sans-serif;
}

.xboard-black1 {
  border: solid 1px #3d4976;
  background: #0b1920;
  color: #C0C0C0;
  font-size: 8pt;
  font-family: Verdana, Arial, sans-serif;
  cursor: pointer;
}

.xboard-message {
  margin: 0;
  line-height: 1.35;
}

.xboard-trash {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

/* XBoard resize */
.xboard-window {
  position: relative;
  min-width: 360px;
  min-height: 260px;
  resize: both;
}

.xboard-window[style*="height"] .xboard-scroll {
  height: calc(100% - 23px);
  max-height: none;
}

.xboard-resize-grip {
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 14px;
  height: 14px;
  cursor: nwse-resize;
  background:
    linear-gradient(135deg, transparent 0 45%, #5d83d9 46% 55%, transparent 56%),
    linear-gradient(135deg, transparent 0 62%, #5d83d9 63% 72%, transparent 73%);
  opacity: 0.9;
}

body.xboard-resizing {
  user-select: none;
  cursor: nwse-resize !important;
}

/* XBoard draggable old window behavior */
.xboard-window-title {
  cursor: move;
  user-select: none;
}

.xboard-window-title button {
  cursor: pointer;
}

body.xboard-dragging {
  user-select: none;
  cursor: move !important;
}

.xboard-modal {
  pointer-events: auto;
}

.xboard-window {
  pointer-events: auto;
}

/* remove fake cyan separator lines: they were not in the original */
.xc-topbar,
.xc-top-strip,
.xc-header,
.xc-header-row,
.xc-main,
.xc-main-grid,
.xc-chat-wrap,
.xc-chat-frame,
.xc-chat-area,
.xc-right-panel,
.xc-left-panel,
.xc-users-panel,
.xc-bottom,
.xc-bottom-bar,
.xc-footer,
.xc-footer-menu,
.xc-midline,
.xc-toolbar,
.xc-subtoolbar,
.xc-room-title,
.xc-topic-row,
.xc-online-header,
.xc-status-panel,
.xc-panel,
.xc-box,
.xc-window,
.xc-window-inner,
.xc-window-body,
.xc-window-footer,
.xc-splitline,
.xc-divider {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* also kill accidental horizontal pseudo-lines */
.xc-topbar::before,
.xc-topbar::after,
.xc-header::before,
.xc-header::after,
.xc-main::before,
.xc-main::after,
.xc-bottom::before,
.xc-bottom::after,
.xc-footer::before,
.xc-footer::after,
.xc-footer-menu::before,
.xc-footer-menu::after,
.xc-toolbar::before,
.xc-toolbar::after,
.xc-chat-wrap::before,
.xc-chat-wrap::after,
.xc-users-panel::before,
.xc-users-panel::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* keep controls intact */
input,
select,
textarea,
button {
  box-shadow: none;
}

/* remove remake-only blue borders from room layout */
.xc-room,
.xc-room-frame,
.xc-top-strip,
.xc-logo-box,
.xc-top-empty,
.xc-private-box,
.xc-main-zone,
.xc-chat-window,
.xc-side,
.xc-side-top,
.xc-room-info,
.xc-users,
.xc-user-list,
.xc-bottom,
.xc-footer-menu {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* remove blue separator lines between big old-chat zones */
.xc-top-strip > *,
.xc-main-zone > *,
.xc-bottom > *,
.xc-footer-menu > * {
  border-color: transparent !important;
  box-shadow: none !important;
}

/* keep only tiny old control borders */
.xc-bottom input,
.xc-bottom select,
.xc-bottom button,
.xc-footer-menu input,
.xc-footer-menu select,
.xc-footer-menu button,
.xboard-black1,
.xboard-black2 {
  border: 1px solid #3d4976 !important;
}

/* remove accidental 1px blue lines from layout edges */
.xc-room * {
  outline-color: transparent !important;
}

.xc-chat-window {
  border-right: 0 !important;
  border-bottom: 0 !important;
}

.xc-side {
  border-left: 0 !important;
}

.xc-top-strip {
  border-bottom: 0 !important;
}

.xc-bottom {
  border-top: 0 !important;
}

/* restore proper old-school separators, but dark and neat */
.xc-chat-window {
  border: 1px solid #324a8a !important;
  box-shadow: inset 0 0 0 1px #0a1028 !important;
}

.xc-side,
.xc-users,
.xc-user-list {
  border: 1px solid #324a8a !important;
  box-shadow: inset 0 0 0 1px #0a1028 !important;
}

.xc-bottom {
  border-top: 1px solid #324a8a !important;
  box-shadow: inset 0 1px 0 #0a1028 !important;
}

.xc-top-strip {
  border-bottom: 0 !important;
}

/* if these wrapper blocks exist, keep them visually grouped */
.xc-main-zone {
  gap: 6px;
}

.xc-chat-window,
.xc-side {
  background-clip: padding-box;
}

/* do not add ugly lines to controls */
.xc-bottom input,
.xc-bottom select,
.xc-bottom button,
.xc-footer-menu input,
.xc-footer-menu select,
.xc-footer-menu button {
  box-shadow: none !important;
}

/* links/footer stay clean */
.xc-footer-menu {
  border-top: 0 !important;
}

/* slightly separate private box at top right */
.xc-private-box,
.xc-room-info,
.xc-side-top {
  border-bottom: 1px solid #24396d !important;
}

/* right users list: no inner scrollbar */
.xc-side,
.xc-users,
.xc-user-list,
#usersBox {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  max-height: none !important;
  height: auto !important;
}

.xc-side {
  position: relative;
}

/* keep user rows compact like old chat */
.xc-user {
  min-height: 14px !important;
  line-height: 14px !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* restore old XChat right user list spacing */
.xc-side {
  overflow: hidden !important;
}

.xc-users,
.xc-user-list,
#usersBox {
  overflow: visible !important;
  max-height: none !important;
  height: auto !important;
}

/* cancel squeezed rows from previous patch */
.xc-user {
  min-height: 17px !important;
  line-height: 17px !important;
  margin: 0 0 1px 0 !important;
  padding: 0 3px !important;
  align-items: center !important;
}

/* user name/status layout: roomier like original */
.xc-user-name {
  line-height: 17px !important;
}

.xc-user-status,
.xc-user-mark {
  line-height: 17px !important;
}

/* room block should breathe like old screenshot */
.xc-room-info {
  padding-top: 8px !important;
  padding-bottom: 7px !important;
  line-height: 17px !important;
  text-align: center !important;
}

/* ANGEL under room title: keep it as old room decoration, not cramped */
.xc-room-info .xc-room-angel,
.xc-room-info .angel,
.xc-room-info .xc-angel {
  display: block !important;
  margin-top: 5px !important;
  margin-bottom: 4px !important;
  color: #67ea91 !important;
  letter-spacing: 9px !important;
  line-height: 15px !important;
}

/* if ANGEL is plain text-ish styled by old classes, give room before users */
.xc-side-top,
.xc-room-info + .xc-users,
.xc-room-info + .xc-user-list {
  margin-top: 4px !important;
}

/* right panel should not show browser scrollbar inside */
.xc-side::-webkit-scrollbar,
.xc-users::-webkit-scrollbar,
.xc-user-list::-webkit-scrollbar,
#usersBox::-webkit-scrollbar {
  display: none !important;
}


/* right list closer to old XChat reference */
.xc-users,
.xc-user-list,
#usersBox {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

.xc-user {
  display: grid !important;
  grid-template-columns: 1fr 34px 13px !important;
  column-gap: 4px !important;
  align-items: center !important;
  min-height: 15px !important;
  line-height: 15px !important;
  margin: 0 !important;
  padding: 0 3px !important;
  font-family: "Times New Roman", serif !important;
  font-size: 14px !important;
}

.xc-user-name {
  display: block !important;
  white-space: nowrap !important;
  text-decoration: underline !important;
  line-height: 15px !important;
}

.xc-user-status {
  color: #00ff66 !important;
  font-weight: bold !important;
  text-align: right !important;
  white-space: nowrap !important;
  line-height: 15px !important;
}

.xc-user-mark {
  text-align: center !important;
  white-space: nowrap !important;
  font-weight: bold !important;
  line-height: 15px !important;
}

.xc-user-me {
  display: block !important;
  min-height: 30px !important;
  line-height: 15px !important;
  margin: 0 0 1px 0 !important;
  padding: 0 3px !important;
}

.xc-user-mainline {
  height: 15px !important;
  line-height: 15px !important;
}

.xc-user-subline {
  display: grid !important;
  grid-template-columns: 1fr 34px 13px !important;
  column-gap: 4px !important;
  align-items: center !important;
  height: 15px !important;
  line-height: 15px !important;
}

.xc-user-angel {
  color: #67ea91 !important;
  font-weight: bold !important;
  letter-spacing: 7px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  line-height: 15px !important;
}

/* right room block like old reference */
.xc-room-info {
  text-align: center !important;
  line-height: 16px !important;
  padding-top: 7px !important;
  padding-bottom: 5px !important;
}

.xc-room-count {
  color: #67ea91 !important;
  font-weight: bold !important;
}


/* right user list: original-like compact list with fixed real seed colors */
.xc-users,
.xc-user-list,
#usersBox {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

.xc-user {
  display: grid !important;
  grid-template-columns: 1fr 34px 13px !important;
  column-gap: 4px !important;
  align-items: center !important;
  min-height: 15px !important;
  line-height: 15px !important;
  margin: 0 !important;
  padding: 0 3px !important;
  font-family: "Times New Roman", serif !important;
  font-size: 14px !important;
}

.xc-user-name {
  display: block !important;
  white-space: nowrap !important;
  text-decoration: underline !important;
  line-height: 15px !important;
}

.xc-user.male .xc-user-name {
  color: #67ea91 !important;
}

.xc-user.female .xc-user-name {
  color: #c281ad !important;
}

.xc-user-status {
  color: #00ff66 !important;
  font-weight: bold !important;
  text-align: right !important;
  white-space: nowrap !important;
  line-height: 15px !important;
}

.xc-user-mark {
  text-align: center !important;
  white-space: nowrap !important;
  font-weight: bold !important;
  line-height: 15px !important;
}

.xc-room-info {
  text-align: center !important;
  line-height: 16px !important;
  padding-top: 7px !important;
  padding-bottom: 5px !important;
}

.xc-room-count {
  color: #67ea91 !important;
  font-weight: bold !important;
}


/* XChat registration/login */
.xchat-auth-extra {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: 4px;
  vertical-align: middle;
}

#xchatPassword {
  width: 92px;
  height: 18px;
  box-sizing: border-box;
  border: 1px solid #3d4976;
  background: #000000;
  color: #c0c0c0;
  font: 12px "Times New Roman", serif;
}

#xchatSex {
  width: 38px;
  height: 18px;
  border: 1px solid #3d4976;
  background: #000000;
  color: #61adde;
  font: 12px "Times New Roman", serif;
}

#xchatRegisterBtn {
  height: 18px;
  border: 1px solid #3d4976;
  background: #0b1920;
  color: #c0c0c0;
  font: 12px "Times New Roman", serif;
  cursor: pointer;
}

#xchatAuthError {
  display: none;
  color: #ff8080;
  font: bold 12px "Times New Roman", serif;
  margin-left: 6px;
  white-space: nowrap;
}


/* old-style login/register line */
.xchat-auth-extra {
  display: none !important;
}

.xchat-login-old {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: 6px;
  vertical-align: middle;
  font-family: "Times New Roman", serif;
}

#xchatLoginPassword {
  width: 94px;
  height: 18px;
  box-sizing: border-box;
  border: 1px solid #3d4976;
  background: #000000;
  color: #61adde;
  font: 12px "Times New Roman", serif;
  padding: 1px 3px;
}

.xchat-register-link {
  color: #c0c0c0;
  text-decoration: underline;
  white-space: nowrap;
}

.xchat-register-link:hover {
  color: #ffff00;
}

#xchatLoginError {
  color: #ff8080;
  font-weight: bold;
  white-space: nowrap;
}


/* old-style admin panel */
.xadmin-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(0, 0, 20, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
}

.xadmin-modal.hidden {
  display: none !important;
}

.xadmin-window {
  width: 520px;
  max-height: 90vh;
  overflow: hidden;
  background: url("../img/chatbg.gif") repeat #000000;
  border: 2px solid #5d83d9;
  box-shadow: 0 0 0 1px #000, 0 0 18px #000;
}

.xadmin-title {
  height: 23px;
  background: #000033;
  color: #66ffff;
  border-bottom: 1px solid #5d83d9;
  box-sizing: border-box;
  padding: 0 4px 0 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font: bold 13px Verdana, Arial, sans-serif;
}

.xadmin-title button {
  width: 24px;
  height: 19px;
  padding: 0;
  border: solid 1px #3d4976;
  background: #0b1920;
  color: #c0c0c0;
  font: bold 11px Arial, sans-serif;
  cursor: pointer;
}

.xadmin-body {
  padding: 14px;
  max-height: calc(90vh - 23px);
  overflow-y: auto;
  background: rgba(2, 48, 64, 0.72);
  color: #c0c0c0;
  font-family: "Times New Roman", Verdana, Arial, serif;
  font-size: 14px;
}

.xadmin-row {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 6px;
  align-items: center;
  margin-bottom: 7px;
}

/* Строка с label + input + button */
.xadmin-row label + input + button,
.xadmin-row:has(label):has(input):has(button) {
  /* handled below */
}

.xadmin-row label {
  text-align: right;
  color: #d0d0d0;
}

.xadmin-row input {
  height: 20px;
  border: 1px solid #3d4976;
  background: #000000;
  color: #61adde;
  font: 14px "Times New Roman", serif;
  padding: 1px 4px;
}

/* Кнопка внутри xadmin-row (не в xadmin-buttons) */
.xadmin-row > button {
  grid-column: 2;
  border: 1px solid #3d4976;
  background: #0b1920;
  color: #c0c0c0;
  font: 13px "Times New Roman", serif;
  padding: 3px 8px;
  cursor: pointer;
  text-align: left;
}

.xadmin-row > button:hover {
  color: #ffff00;
}

/* Когда в строке label + input + button — три элемента */
.xadmin-row.xadmin-row-3 {
  grid-template-columns: 90px 1fr auto;
}

.xadmin-row.xadmin-row-3 > button {
  grid-column: auto;
}

#xadminInvisibleState.xadmin-invisible-on {
  color: #66ffff;
  font-weight: bold;
  text-shadow: 0 0 5px rgba(102, 255, 255, 0.7);
}

.xadmin-buttons {
  margin: 10px 0 8px 88px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.xadmin-buttons button {
  border: 1px solid #3d4976;
  background: #0b1920;
  color: #c0c0c0;
  font: 13px "Times New Roman", serif;
  padding: 2px 7px;
  cursor: pointer;
}

.xadmin-buttons button:hover {
  color: #ffff00;
}

#xadminStatus {
  min-height: 18px;
  margin-left: 88px;
  font-weight: bold;
}

#xadminStatus.ok {
  color: #67ea91;
}

#xadminStatus.bad,
.xadmin-body .bad {
  color: #ff8080;
}

.xadmin-users-title {
  margin-top: 10px;
  color: #ffffff;
  font-weight: bold;
}

#xadminUsers {
  margin-top: 5px;
  border-top: 1px solid #324a8a;
  padding-top: 5px;
}

.xadmin-user {
  display: grid;
  grid-template-columns: 1fr 130px;
  gap: 8px;
  line-height: 17px;
}

.xadmin-user a {
  color: #67ea91;
  text-decoration: underline;
}

.xadmin-user span {
  color: #c281ad;
}


.xc-format-btn.xc-format-active,
#formatBold.xc-format-active,
#formatItalic.xc-format-active,

#xboardOverlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  pointer-events: none;
}

.xboard-window {
  position: fixed;
  left: 50%;
  top: 80px;
  transform: translateX(-50%);
  width: 540px;
  min-height: 360px;
  background: #000 url("../img/chatbg.gif");
  border: 2px solid #2448a8;
  color: #dbdcde;
  font: 12px Verdana, Arial, sans-serif;
  resize: both;
  overflow: auto;
  pointer-events: auto;
  box-shadow: 0 0 20px #000;
}

.xboard-title {
  cursor: move;
  background: #00194a;
  color: #ffff00;
  padding: 4px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.xboard-close {
  background: #2448a8;
  color: #fff;
  border: 1px solid #6688ff;
  cursor: pointer;
}

.xboard-body {
  padding: 8px 16px 12px;
}

.xboard-head,
.xboard-bottom {
  text-align: center;
}

.xboard-form textarea {
  width: 100%;
  height: 56px;
  background: #050505;
  color: #ffffff;
  border: 1px solid #3454ad;
  font: 12px Verdana, Arial, sans-serif;
}

.xboard-buttons {
  text-align: center;
  margin: 6px 0;
}

.xboard-black1 {
  background: #000;
  color: #dbdcde;
  border: 1px solid #6060ff;
  margin: 0 3px;
  cursor: pointer;
}

.xboard-status {
  min-height: 16px;
  color: #ffff00;
  text-align: center;
  margin: 4px 0;
}

.xboard-item {
  border-top: 1px solid #293b89;
  padding: 6px 2px;
}

.xboard-meta {
  color: #61adde;
  display: flex;
  gap: 8px;
  align-items: center;
}

.xboard-meta b {
  color: #ffff00;
}

.xboard-text {
  color: #dbdcde;
  margin-top: 3px;
  white-space: pre-wrap;
  word-break: break-word;
}

.xboard-trash {
  margin-left: auto;
  background: transparent;
  color: #ff8080;
  border: 0;
  cursor: pointer;
}

.xboard-empty {
  color: #dbdcde;
  text-align: center;
  padding: 20px;
}


/* xchat bottom final order */
.xc-bottom {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

#miniInput {
  order: 2 !important;
}


/* xchat xboard server v2 */
#xboardOverlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  pointer-events: none;
}

.xboard-window {
  position: fixed;
  left: 50%;
  top: 78px;
  transform: translateX(-50%);
  width: 540px;
  min-height: 360px;
  background: #000 url("../img/chatbg.gif");
  border: 2px solid #2448a8;
  color: #dbdcde;
  font: 12px Verdana, Arial, sans-serif;
  resize: both;
  overflow: auto;
  pointer-events: auto;
  box-shadow: 0 0 20px #000;
}

.xboard-title {
  cursor: move;
  background: #00194a;
  color: #ffff00;
  padding: 4px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.xboard-close {
  background: #2448a8;
  color: #fff;
  border: 1px solid #6688ff;
  cursor: pointer;
}

.xboard-body {
  padding: 8px 16px 12px;
}

.xboard-head,
.xboard-bottom {
  text-align: center;
}

#xboardText {
  width: 100%;
  height: 58px;
  box-sizing: border-box;
  background: #050505;
  color: #ffffff;
  border: 1px solid #3454ad;
  font: 12px Verdana, Arial, sans-serif;
}

.xboard-buttons {
  text-align: center;
  margin: 6px 0;
}

.xboard-black1 {
  background: #000;
  color: #dbdcde;
  border: 1px solid #6060ff;
  margin: 0 3px;
  cursor: pointer;
}

.xboard-status {
  min-height: 16px;
  color: #ffff00;
  text-align: center;
  margin: 4px 0;
}

.xboard-item {
  border-top: 1px solid #293b89;
  padding: 6px 2px;
}

.xboard-meta {
  color: #61adde;
  display: flex;
  gap: 8px;
  align-items: center;
}

.xboard-meta b {
  color: #ffff00;
}

.xboard-text {
  color: #dbdcde;
  margin-top: 3px;
  white-space: pre-wrap;
  word-break: break-word;
}

.xboard-trash {
  margin-left: auto;
  background: transparent;
  color: #ff8080;
  border: 0;
  cursor: pointer;
}

.xboard-empty {
  color: #dbdcde;
  text-align: center;
  padding: 20px;
}

/* xchat target chip instead of old separate nick input */
#miniInput.xc-mini-input,
#miniInput {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
}

#targetSlot.xc-target-slot,
.xc-target-slot {
  order: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  max-width: 210px !important;
  height: 22px !important;
  margin: 0 2px !important;
  vertical-align: middle !important;
}

.xc-target-slot:not(.has-target) {
  width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
#targetSlot { order: 2 !important; }

/* xchat faster target chip + clear private highlight */


.xc-private-line {
  display: block !important;
  margin: 1px 0 !important;
  padding: 2px 5px !important;
  border-left: 4px solid #ff4fa3 !important;
  background: rgba(110, 0, 55, 0.82) !important;
  color: #ffd6e8 !important;
  box-shadow: inset 0 0 0 1px rgba(255, 130, 190, 0.35) !important;
}

.xc-private-line .xc-nick {
  color: #ffff66 !important;
}

.xc-private-badge {
  display: inline-block !important;
  margin-right: 5px !important;
  padding: 1px 4px !important;
  border: 1px solid #ffb6dc !important;
  background: #ff2f92 !important;
  color: #ffffff !important;
  font: bold 10px Verdana, Arial, sans-serif !important;
  line-height: 12px !important;
  text-shadow: 0 1px 1px #000 !important;
  vertical-align: 1px !important;
}

.xc-private-arrow {
  color: #ffffff !important;
  font-weight: bold !important;
}

/* unified nick click behavior: right list and chat window */
#messagesBox .xc-nick,
.xc-line .xc-nick {
  cursor: pointer !important;
}#messagesBox .xc-nick:hover,
.xc-line .xc-nick:hover {
  text-decoration: underline !important;
  filter: brightness(1.25) !important;
}

.xc-target-nick {
  cursor: pointer !important;
}

/* xchat footer links cleanup */
.xc-clean-footer-links {
  color: #ffffff !important;
}

.xc-clean-footer-links a,
.xc-clean-footer-links a:link,
.xc-clean-footer-links a:visited,
.xc-clean-footer-links button,
.xc-footer-link,
.xc-footer-link:link,
.xc-footer-link:visited {
  color: #ffffff !important;
  background: transparent !important;
  text-decoration: underline !important;
  border: 0 !important;
  font-weight: bold !important;
  text-shadow: 0 1px 1px #000 !important;
}

.xc-clean-footer-links a:hover,
.xc-clean-footer-links a:active,
.xc-clean-footer-links button:hover,
.xc-footer-link:hover,
.xc-footer-link:active,
.xc-footer-board-link:hover,
.xc-footer-admin-link:hover,
.xc-footer-exit-link:hover {
  color: #ffe66b !important;
  background: rgba(255, 230, 107, 0.12) !important;
  text-decoration: none !important;
  box-shadow: 0 0 5px rgba(255, 230, 107, 0.45) !important;
}

.xc-footer-board-link,
.xc-footer-board-link:link,
.xc-footer-board-link:visited {
  color: #ffffff !important;
}

.xc-footer-admin-link,
.xc-footer-admin-link:link,
.xc-footer-admin-link:visited {
  color: #ffffff !important;
}

.xc-footer-exit-link,
.xc-footer-exit-link:link,
.xc-footer-exit-link:visited {
  color: #ffffff !important;
}

.xc-chat-smile {
  max-width: 34px !important;
  max-height: 28px !important;
  vertical-align: middle !important;
  display: inline-block !important;
  margin: 0 1px !important;
}


/* Мгновенный предпросмотр истории при входе в комнату.
   Он нужен только на первые миллисекунды до прихода серверной истории. */
.xc-loading-line {
  color: #9fc7d7;
  font-style: italic;
}

.xc-cache-preview {
  opacity: 0.96;
}


/* Системные строки входа/выхода — часть обычной истории чата.
   Они идут строго на своём хронологическом месте среди сообщений,
   а не отдельным центрированным блоком наверху. */
.xc-system-line {
  display: block;
  width: auto;
  text-align: center;
  font: 11px Verdana, Arial, sans-serif;
  line-height: 15px;
  margin: 1px 0;
  padding: 0;
  opacity: 0.95;
  white-space: normal;
}

.xc-system-enter {
  color: #8ff0b0;
}

.xc-system-leave {
  color: #d6a0a0;
}

.xc-system-nick {
  color: #ffe28a;
  font-weight: bold;
}

/* xchat-footer-overlap-fix-v1 */
.xc-footer-menu {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  line-height: 18px !important;
  min-height: 22px !important;
  padding: 2px 6px !important;
  box-sizing: border-box !important;
}
.xc-footer-menu > * {
  position: static !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 18px !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}
.xc-footer-menu label {
  gap: 3px !important;
}
.xc-footer-menu input[type="checkbox"] {
  flex: 0 0 auto !important;
  width: 13px !important;
  height: 13px !important;
  margin: 0 2px 0 0 !important;
}
.xc-footer-menu a,
.xc-footer-menu span,
.xc-footer-menu button {
  flex: 0 0 auto !important;
}


/* xchat-stable-footer-v2 */
.xc-footer-menu {
  display: block !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  min-height: 24px !important;
  height: auto !important;
  padding: 2px 6px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  white-space: nowrap !important;
  line-height: 18px !important;
}

.xc-footer-menu #xchatStableFooter.xsf-footer-links {
  display: flex !important;
  position: static !important;
  float: none !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: auto !important;
  height: auto !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  white-space: nowrap !important;
  line-height: 18px !important;
}

.xc-footer-menu #xchatStableFooter .xsf-footer-item,
.xc-footer-menu #xchatStableFooter a.xsf-footer-item,
.xc-footer-menu #xchatStableFooter span.xsf-footer-item,
.xc-footer-menu #xchatStableFooter label.xsf-footer-item {
  display: inline-flex !important;
  position: static !important;
  float: none !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  line-height: 18px !important;
  vertical-align: middle !important;
  transform: none !important;
}

.xc-footer-menu #xchatStableFooter input[type="checkbox"] {
  display: inline-block !important;
  position: static !important;
  float: none !important;
  flex: 0 0 auto !important;
  width: 13px !important;
  height: 13px !important;
  min-width: 13px !important;
  margin: 0 3px 0 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
}


/* xchat-info-smiles-v1 */
#xchatInfoPopup {
  position: fixed;
  inset: 0;
  z-index: 99990;
  font: 12px Verdana, Arial, sans-serif;
}

#xchatInfoPopup .xip-bg {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25);
}

#xchatInfoPopup .xip-window {
  position: absolute;
  left: 50%;
  top: 48%;
  width: 360px;
  transform: translate(-50%, -50%);
  border: 1px solid #4563c8;
  background: #06051b url("../img/bg.gif") repeat;
  color: #ffffff;
  box-shadow: 0 0 0 1px #000, 0 8px 24px rgba(0,0,0,0.55);
}

#xchatInfoPopup .xip-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #15106a;
  color: #ffff66;
  padding: 4px 6px;
  font-weight: bold;
}

#xchatInfoPopup .xip-title button {
  background: #000;
  color: #fff;
  border: 1px solid #777;
  cursor: pointer;
}

#xchatInfoPopup .xip-body {
  padding: 10px;
  line-height: 1.55;
}

#xchatInfoPopup .xip-note {
  color: #9bbcff;
  font-size: 11px;
}

#xchatSmileFallbackPanel {
  position: fixed;
  z-index: 99980;
  width: 356px;
  max-height: 178px;
  overflow: auto;
  padding: 5px;
  border: 1px solid #4654b8;
  background: #050415 url("../img/bg.gif") repeat;
  box-shadow: 0 0 0 1px #000, 0 6px 18px rgba(0,0,0,0.55);
}

#xchatSmileFallbackPanel .xsf-smile {
  display: inline-flex;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  margin: 2px;
  padding: 0;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
}

#xchatSmileFallbackPanel .xsf-smile:hover {
  border-color: #ffff66;
  background: rgba(255,255,255,0.08);
}

#xchatSmileFallbackPanel img {
  max-width: 22px;
  max-height: 22px;
}


/* xchat-smile-token-render-v1 */
.xc-smile-img {
  display: inline-block;
  max-width: 22px;
  max-height: 22px;
  width: auto;
  height: auto;
  vertical-align: -5px;
  margin: 0 1px;
}


/* ===== MARQUEE — бегущая строка в шапке ===== */
.xc-marquee-strip {
  background: linear-gradient(to bottom, #0a0a2a, #020436);
  border-bottom: 1px solid #324a8a;
  border-top: 1px solid #1a1a4a;
  padding: 2px 6px;
  font: 12px Verdana, Arial, sans-serif;
  color: #ffff00;
  overflow: hidden;
  height: 18px;
  line-height: 18px;
}

.xc-marquee-strip marquee {
  height: 18px;
  line-height: 18px;
}

.xc-marquee-strip a { color: #61adde; }
.xc-marquee-strip b { color: #ff8080; }
.xc-marquee-strip i { color: #80ff80; }

/* ===== STATUS icons in user list ===== */


/* ===== TYPING indicator ===== */
.xc-typing-indicator {
  transition: opacity 0.2s;
}


/* XChat original 32 message colors */
#xps-color {
    font-weight: 700;
}

#xps-color option {
    background: #000;
    font-weight: 700;
}


/* xchat-action-font-15x-v1
   Действия крупнее обычного текста на 50%.
   Обычные сообщения / privates / presence не меняются. */
.xc-line.xc-action-line {
  font-size: 1.5em !important;
  line-height: 1.35 !important;
}


/* xchat-message-time-v1 */
.xc-message-time {
  display: inline-block;
  min-width: 34px;
  margin-right: 6px;

  color: #7f8494 !important;
  opacity: .88;

  font-family: Verdana, Arial, sans-serif !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1 !important;

  text-align: right;
  white-space: nowrap;
  user-select: none;

  vertical-align: middle;
  transform: translateY(-1px);
}

html.xchat-hide-message-time .xc-message-time {
  display: none !important;
}

@media (max-width: 700px) {
  .xc-message-time {
    min-width: 31px;
    margin-right: 5px;
    font-size: 9px !important;
  }
}

/* ============================================================
   XCHAT PERSONAL IGNORE v1
   ============================================================ */

/*
 * Сообщение остаётся в DOM и истории, но персонально скрыто.
 * Это позволяет мгновенно вернуть его после выключения ignore.
 */
#messagesBox .xc-line.xc-ignored-message {
  display: none !important;
}

/*
 * Игнорируемый пользователь остаётся в списке присутствия:
 * так его INFO всё ещё доступно для снятия игнора.
 */


.xip-user-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
}

.xip-ignore-action {
  cursor: pointer;
}

.xip-ignore-action.is-ignored {
  opacity: 0.82;
  text-decoration: line-through;
}


/* ============================================================
   XCHAT IGNORE UI v2
   ============================================================ */

.xip-user-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-top: 11px;
}

/* Общая геометрия кнопок INFO */
.xip-user-actions button {
  min-height: 30px;
  padding: 5px 12px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.14);
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
  cursor: pointer;

  transition:
    background .14s ease,
    border-color .14s ease,
    box-shadow .14s ease,
    transform .08s ease,
    color .14s ease;
}

/* Личное сообщение */
.xip-user-actions .xip-mail-action {
  color: #e8f2ff;
  background:
    linear-gradient(
      180deg,
      #273d61 0%,
      #162743 100%
    );
  border-color: #45658d;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 2px 5px rgba(0,0,0,.25);
}

.xip-user-actions .xip-mail-action:hover {
  color: #fff;
  background:
    linear-gradient(
      180deg,
      #33547f 0%,
      #1c3458 100%
    );
  border-color: #7196c1;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 0 9px rgba(80,145,215,.22);
}

/* IGNORE — выключен */
.xip-user-actions .xip-ignore-action {
  color: #ffdede;
  background:
    linear-gradient(
      180deg,
      #8f2929 0%,
      #571717 100%
    );
  border-color: #b84444;
  text-shadow:
    0 1px 1px rgba(0,0,0,.45);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 2px 6px rgba(0,0,0,.30);
}

/* IGNORE hover */
.xip-user-actions .xip-ignore-action:hover {
  color: #fff;
  background:
    linear-gradient(
      180deg,
      #b53737 0%,
      #751f1f 100%
    );
  border-color: #e05a5a;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 0 10px rgba(220,65,65,.30);
}

/* Когда пользователь УЖЕ в игноре —
   кнопка становится действием "вернуть обратно". */
.xip-user-actions .xip-ignore-action.is-ignored {
  color: #dcffe5;
  background:
    linear-gradient(
      180deg,
      #287746 0%,
      #174b2b 100%
    );
  border-color: #48a86b;
  text-decoration: none !important;
  opacity: 1 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 2px 6px rgba(0,0,0,.28);
}

.xip-user-actions .xip-ignore-action.is-ignored:hover {
  color: #fff;
  background:
    linear-gradient(
      180deg,
      #34975a 0%,
      #205f37 100%
    );
  border-color: #68cc89;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 0 10px rgba(70,190,110,.25);
}

.xip-user-actions button:active {
  transform: translateY(1px);
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,.30);
}

/* Зачёркнутый ignored ник справа —
   чуть красивее и явно "приглушён". */


/* ============================================================
   XCHAT IRC COMPATIBILITY LAYER v1
   ============================================================ */

#messagesBox .xc-irc-notice {
  margin-top: 3px;
  margin-bottom: 3px;
  padding: 2px 7px;
  border-left: 2px solid rgba(111, 174, 229, .62);
  background: rgba(34, 69, 103, .14);
  color: #b8cce0;
  font-family: Verdana, Arial, sans-serif;
  font-size: 11px;
  line-height: 1.45;
}

#messagesBox .xc-irc-stars {
  color: #6989a7;
  font-weight: 700;
}

#messagesBox .xc-irc-service {
  color: #80c4ff;
  font-weight: 700;
}

#messagesBox .xc-irc-notice-ok {
  border-left-color: rgba(82, 190, 112, .72);
}

#messagesBox .xc-irc-notice-ok .xc-irc-service {
  color: #73dc91;
}

#messagesBox .xc-irc-notice-warn {
  border-left-color: rgba(219, 166, 62, .76);
}

#messagesBox .xc-irc-notice-warn .xc-irc-service {
  color: #e5bd69;
}

#messagesBox .xc-irc-notice-error {
  border-left-color: rgba(210, 76, 76, .78);
}

#messagesBox .xc-irc-notice-error .xc-irc-service {
  color: #ec8585;
}

/* xchat-chat-links-v1 */
#messagesBox .xc-chat-link {
  color: #6fb8ff;
  text-decoration: underline;
  text-decoration-color: rgba(111, 184, 255, 0.55);
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
  word-break: break-word;
  cursor: pointer;
}

#messagesBox .xc-chat-link:hover {
  color: #ffe58a;
  text-decoration-color: currentColor;
}

#messagesBox .xc-chat-link:focus-visible {
  outline: 1px solid #ffe58a;
  outline-offset: 2px;
  border-radius: 2px;
}


/* xchat-admin-smiles-v1 */

/*
 * Админка смайликов.
 * Сохраняем старую XChat-эстетику, но даём достаточно места
 * для каталога и drag-and-drop.
 */

.xadmin-window {
  width: min(760px, calc(100vw - 24px));
}

.xadmin-smiles-title {
  color: #66ffff;
  border-top: 1px solid #324a8a;
  padding-top: 9px;
}

.xadmin-smiles-upload {
  display: grid;
  grid-template-columns: 150px minmax(190px, 1fr) auto;
  gap: 5px;
  margin: 6px 0;
}

.xadmin-smiles-upload input {
  min-width: 0;
  box-sizing: border-box;
  height: 24px;
  border: 1px solid #3d4976;
  background: #000;
  color: #61adde;
  font: 13px "Times New Roman", serif;
}

.xadmin-smiles-upload input[type="file"] {
  padding: 1px;
  color: #c0c0c0;
}

.xadmin-smiles-upload button,
.xadmin-smile-actions button {
  border: 1px solid #3d4976;
  background: #0b1920;
  color: #c0c0c0;
  font: 13px "Times New Roman", serif;
  cursor: pointer;
}

.xadmin-smiles-upload button:hover,
.xadmin-smile-actions button:hover {
  color: #ffff00;
}

.xadmin-smiles-upload button:disabled,
.xadmin-smile-actions button:disabled {
  opacity: 0.55;
  cursor: default;
}

.xadmin-smiles-help {
  margin: 4px 0 6px;
  color: #91a9c5;
  font-size: 12px;
  line-height: 1.25;
}

#xadminSmileStatus {
  min-height: 17px;
  margin: 3px 0 5px;
  font-weight: bold;
}

#xadminSmileStatus.ok {
  color: #67ea91;
}

#xadminSmileStatus.bad {
  color: #ff8080;
}

#xadminSmiles {
  border: 1px solid #324a8a;
  background: rgba(0, 0, 18, 0.52);
  margin-bottom: 12px;
}

.xadmin-smiles-loading {
  padding: 8px;
  color: #91a9c5;
}

.xadmin-smile-row {
  display: grid;
  grid-template-columns: 22px max-content minmax(220px, 1fr) auto 124px;
  gap: 6px;
  align-items: center;
  min-height: 47px;
  padding: 4px 5px;
  border-bottom: 1px solid rgba(50, 74, 138, 0.72);
  box-sizing: border-box;
}

.xadmin-smile-row:last-child {
  border-bottom: 0;
}

.xadmin-smile-row:hover {
  background: rgba(18, 74, 104, 0.36);
}

.xadmin-smile-row.is-archived {
  opacity: 0.55;
}

.xadmin-smile-row.is-dragging {
  opacity: 0.38;
  outline: 1px dashed #66ffff;
}

.xadmin-smile-drag {
  color: #61adde;
  font: bold 18px Arial, sans-serif;
  cursor: grab;
  user-select: none;
  text-align: center;
}

.xadmin-smile-drag:active {
  cursor: grabbing;
}

.xadmin-smile-preview {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.xadmin-smile-preview img {
  max-width: 38px;
  max-height: 38px;
  object-fit: contain;
}

.xadmin-smile-main {
  min-width: 0;
}

.xadmin-smile-code-line {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 3px;
}

.xadmin-smile-code,
.xadmin-smile-aliases {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  height: 21px;
  padding: 1px 4px;
  border: 1px solid #3d4976;
  background: #000;
  color: #61adde;
  font: 13px "Times New Roman", serif;
}

.xadmin-smile-code {
  max-width: 150px;
  color: #ffff66;
  font-weight: bold;
}

.xadmin-smile-tag {
  white-space: nowrap;
  color: #c281ad;
  font-size: 11px;
}

.xadmin-smile-legacy {
  margin-top: 2px;
  color: #7189a6;
  font-size: 11px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.xadmin-smile-picker {
  display: flex;
  align-items: center;
  gap: 3px;
  color: #c0c0c0;
  white-space: nowrap;
  font-size: 12px;
}

.xadmin-smile-actions {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.xadmin-smile-actions button {
  width: 124px;
  padding: 2px 4px;
  text-align: left;
}

@media (max-width: 680px) {
  .xadmin-window {
    width: calc(100vw - 10px);
    max-height: 94vh;
  }

  .xadmin-body {
    padding: 8px;
    max-height: calc(94vh - 23px);
  }

  .xadmin-smiles-upload {
    grid-template-columns: 1fr;
  }

  .xadmin-smiles-upload button {
    min-height: 28px;
  }

  .xadmin-smile-row {
    grid-template-columns: 20px max-content minmax(0, 1fr);
    gap: 4px;
  }

  .xadmin-smile-picker {
    grid-column: 3;
  }

  .xadmin-smile-actions {
    grid-column: 3;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .xadmin-smile-actions button {
    width: auto;
  }
}


/*
 * xchat-smiles-native-size-v1
 *
 * Смайлы отображаются в физических размерах исходного файла.
 * Размер контролируется самим загруженным asset, а не frontend CSS.
 *
 * Один и тот же asset:
 *   chat = picker = admin preview.
 */

/* ===== CHAT ===== */

html body .xc-chat-smile,
html body .xc-smile-img {
  width: auto !important;
  height: auto !important;

  min-width: 0 !important;
  min-height: 0 !important;

  max-width: none !important;
  max-height: none !important;
}


/* ===== MAIN SMILE PICKER ===== */

html body #smilePanel .xc-smile-item,
html body #smilePanel.xc-smile-force-open .xc-smile-item {
  width: auto !important;
  height: auto !important;

  min-width: 0 !important;
  min-height: 0 !important;

  max-width: none !important;
  max-height: none !important;

  overflow: visible !important;
}

html body #smilePanel .xc-smile-item img,
html body #smilePanel.xc-smile-force-open .xc-smile-item img {
  width: auto !important;
  height: auto !important;

  min-width: 0 !important;
  min-height: 0 !important;

  max-width: none !important;
  max-height: none !important;

  object-fit: none !important;
}


/* ===== FALLBACK PICKER ===== */

html body #xchatSmileFallbackPanel .xsf-smile {
  width: auto !important;
  height: auto !important;

  min-width: 0 !important;
  min-height: 0 !important;

  max-width: none !important;
  max-height: none !important;

  overflow: visible !important;
}

html body #xchatSmileFallbackPanel img {
  width: auto !important;
  height: auto !important;

  min-width: 0 !important;
  min-height: 0 !important;

  max-width: none !important;
  max-height: none !important;

  object-fit: none !important;
}


/* ===== ADMIN ===== */

html body .xadmin-smile-preview {
  width: auto !important;
  height: auto !important;

  min-width: 0 !important;
  min-height: 0 !important;

  max-width: none !important;
  max-height: none !important;

  overflow: visible !important;
}

html body .xadmin-smile-preview img {
  width: auto !important;
  height: auto !important;

  min-width: 0 !important;
  min-height: 0 !important;

  max-width: none !important;
  max-height: none !important;

  object-fit: none !important;
}


/*
 * XCHAT_PERSONAL_ADDRESS_HIGHLIGHT_V1
 *
 * Обычное публичное обращение именно к текущему пользователю.
 * Без полос, рамок и бейджей — только мягкий фон.
 */

.xc-line.xc-addressed-to-me {
  background:
    rgba(72, 181, 255, 0.16);

  border-radius:
    3px;

  transition:
    background-color 120ms ease;
}

.xc-line.xc-addressed-to-me:hover {
  background:
    rgba(72, 181, 255, 0.24);
}

/*
 * XCHAT_RIGHT_SIDEBAR_FRAMELESS_V2
 * Remove only the faint outer frame around the right sidebar.
 */
.xc-side {
  border: 0 !important;
  box-shadow: none !important;
}

/*
 * XCHAT_DESKTOP_SIDE_WIDTH_230_V1
 *
 * Desktop users column returned to the original 230px width.
 * Restore the original 185px logo column as well.
 */
@media (min-width: 1025px) {
  .xc-main-zone {
    grid-template-columns:
      minmax(0, 1fr)
      230px !important;
  }

  .xc-top-strip {
    grid-template-columns:
      185px
      minmax(0, 1fr)
      230px !important;
  }
}

/*
 * XCHAT_PRIVATE_BOX_BOTTOM_LINE_REMOVE_V1
 * Remove only the unnecessary line below the private-mail block.
 */
.xc-private-box {
  border-bottom: 0 !important;
}
