body.assistant-open {
  --nexi-sky: #d9f8ff;
  --nexi-water: #55cfee;
  --nexi-deep: #057cba;
  --nexi-leaf: #6fd36e;
  --nexi-ink: #12314a;
  background:
    radial-gradient(circle at 12% 16%, rgba(255,255,255,.94) 0 4px, transparent 5px),
    radial-gradient(circle at 84% 12%, rgba(255,255,255,.78) 0 7px, transparent 8px),
    linear-gradient(145deg, #b8f5ff 0%, #eafcff 45%, #d9ffcf 100%);
}

body.assistant-open .wet-assistant-shell {
  isolation: isolate;
  grid-template-columns: 296px minmax(0, 1fr) !important;
  overflow: hidden;
  background:
    radial-gradient(ellipse 80% 72% at 80% -20%, rgba(255,255,255,.98), transparent 58%),
    radial-gradient(ellipse 52% 40% at 88% 105%, rgba(104,223,149,.27), transparent 64%),
    linear-gradient(135deg, rgba(234,253,255,.94), rgba(255,255,255,.84) 58%, rgba(216,255,221,.88)) !important;
}

body.assistant-open .wet-assistant-shell::before,
body.assistant-open .wet-assistant-shell::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: clamp(150px, 21vw, 330px);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(.2px);
}

body.assistant-open .wet-assistant-shell::before {
  right: 7%;
  top: 6%;
  background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.94) 0 5%, rgba(117,224,246,.35) 25%, rgba(40,170,222,.08) 66%, transparent 67%);
  box-shadow: inset 14px 18px 30px rgba(255,255,255,.7), 0 26px 60px rgba(20,151,202,.14);
}

body.assistant-open .wet-assistant-shell::after {
  left: 18%;
  bottom: -18%;
  background: radial-gradient(circle at 36% 28%, rgba(255,255,255,.75) 0 4%, rgba(100,224,157,.24) 30%, rgba(44,176,124,.06) 67%, transparent 68%);
}

body.assistant-open .assistant-sidebar {
  position: relative;
  padding: 20px 16px 18px !important;
  background:
    linear-gradient(180deg, rgba(4,130,186,.90), rgba(18,175,207,.75) 62%, rgba(69,201,139,.73)),
    linear-gradient(145deg, #1ea6d2, #63d57c) !important;
  border-right: 1px solid rgba(255,255,255,.74) !important;
  box-shadow: inset -1px 0 rgba(0,91,137,.18), 16px 0 36px rgba(4,105,157,.12);
}

body.assistant-open .assistant-sidebar::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255,255,255,.31), transparent 28%, transparent 68%, rgba(255,255,255,.17));
}

body.assistant-open .assistant-brand,
body.assistant-open .assistant-mobile-brand {
  color: #fff !important;
  text-shadow: 0 1px 1px rgba(0,76,119,.42);
}

body.assistant-open .assistant-brand b {
  font-size: 20px;
  letter-spacing: -.035em;
}

body.assistant-open .assistant-brand .small {
  color: rgba(239,255,255,.88) !important;
}

body.assistant-open .assistant-logo {
  border: 2px solid rgba(255,255,255,.9);
  box-shadow: 0 10px 22px rgba(0,93,137,.28), inset 0 1px rgba(255,255,255,.86) !important;
}

body.assistant-open .assistant-back-btn,
body.assistant-open .assistant-new-chat-btn,
body.assistant-open .assistant-session-item,
body.assistant-open .assistant-session-delete {
  position: relative;
  z-index: 1;
  color: #073b5b !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.90), rgba(225,252,255,.72)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.96), 0 7px 16px rgba(0,90,132,.16) !important;
}

body.assistant-open .assistant-new-chat-btn {
  color: #fff !important;
  background: linear-gradient(180deg, #72dc87, #25aa70) !important;
  border-color: rgba(237,255,236,.9) !important;
  text-shadow: 0 1px rgba(0,93,67,.32);
}

body.assistant-open .assistant-session-item {
  border-radius: 17px !important;
}

body.assistant-open .assistant-session-row.active .assistant-session-item,
body.assistant-open .assistant-session-item:hover {
  transform: translateY(-1px);
  background: linear-gradient(180deg, #fff, #d8faff) !important;
  box-shadow: inset 0 1px #fff, 0 12px 22px rgba(0,110,162,.21) !important;
}

body.assistant-open .wet-assistant-main {
  position: relative;
  padding: clamp(18px, 3.1vw, 46px) clamp(16px, 4vw, 72px) 22px !important;
}

body.assistant-open .assistant-main-scroll {
  scrollbar-color: rgba(6,145,198,.45) transparent;
}

body.assistant-open .assistant-intro {
  position: relative;
  width: min(100%, 920px);
  min-height: min(56dvh, 560px);
  margin: clamp(16px, 5vh, 68px) auto 0;
  padding: clamp(28px, 5vw, 62px);
  display: grid;
  align-content: center;
  justify-items: start;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.84);
  border-radius: 34px;
  background:
    linear-gradient(112deg, rgba(255,255,255,.84), rgba(236,254,255,.68) 48%, rgba(220,255,225,.72)),
    linear-gradient(135deg, #dfffff, #f5fff2);
  box-shadow: inset 0 1px rgba(255,255,255,.98), inset 0 -16px 34px rgba(77,210,157,.10), 0 30px 70px rgba(5,130,186,.16);
}

body.assistant-open .assistant-intro::before {
  content: "nexi-ai  /  WET";
  position: absolute;
  left: clamp(28px, 5vw, 62px);
  top: clamp(26px, 4vw, 48px);
  color: #0780b7;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.assistant-open .assistant-intro::after {
  content: "";
  position: absolute;
  right: -3%;
  bottom: -19%;
  width: min(45vw, 430px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 34% 26%, #fff 0 5%, rgba(122,232,247,.63) 22%, rgba(42,183,216,.27) 51%, rgba(54,209,139,.06) 70%, transparent 71%);
  box-shadow: inset 18px 17px 34px rgba(255,255,255,.63), 0 26px 48px rgba(23,164,199,.17);
}

body.assistant-open .assistant-intro .assistant-logo-hero {
  position: relative;
  z-index: 1;
  width: 84px;
  height: 84px;
  margin: 30px 0 19px;
  border-radius: 28px;
  box-shadow: 0 17px 30px rgba(0,125,179,.23), inset 0 1px #fff !important;
}

body.assistant-open .assistant-intro h1 {
  position: relative;
  z-index: 1;
  max-width: min(100%, 550px);
  margin: 0;
  color: var(--nexi-ink) !important;
  font-size: clamp(30px, 4.3vw, 58px) !important;
  line-height: .98;
  letter-spacing: -.055em;
}

body.assistant-open .assistant-intro h1::before {
  content: "Разберёмся вместе.";
  display: block;
  margin-bottom: 13px;
  color: #083b58;
}

body.assistant-open .assistant-hello-muted {
  display: block;
  color: #168bb7 !important;
  font-size: .47em;
  font-weight: 700;
  letter-spacing: -.02em;
}

body.assistant-open .assistant-thread {
  width: min(100%, 960px);
  margin: 0 auto;
  gap: 18px;
}

body.assistant-open .assistant-msg .assistant-bubble {
  border-radius: 24px !important;
  border: 1px solid rgba(114,213,234,.34) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.87), 0 12px 26px rgba(11,127,170,.10) !important;
}

body.assistant-open .assistant-msg.assistant .assistant-bubble {
  color: #173d56 !important;
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(231,252,255,.82)) !important;
}

body.assistant-open .assistant-msg.user .assistant-bubble {
  background: linear-gradient(145deg, #1faeda, #258fd7 58%, #36bc8b) !important;
  border-color: rgba(236,255,255,.72) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.42), 0 14px 28px rgba(0,120,185,.22) !important;
}

body.assistant-open .assistant-form-chatgpt {
  width: min(100%, 960px) !important;
  margin: 0 auto;
  background: linear-gradient(180deg, transparent, rgba(245,254,255,.83) 38%, rgba(243,255,245,.93)) !important;
}

body.assistant-open .wet-assistant-input {
  min-height: 70px;
  padding: 9px 10px 9px 21px !important;
  border: 1px solid rgba(65,194,221,.56) !important;
  border-radius: 25px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(227,252,255,.93)) !important;
  box-shadow: inset 0 1px #fff, 0 13px 30px rgba(5,135,181,.16) !important;
}

body.assistant-open .wet-assistant-input textarea {
  color: #143d58 !important;
  font-size: 16px;
}

body.assistant-open .assistant-send-btn {
  width: 50px !important;
  height: 50px !important;
  border: 1px solid rgba(255,255,255,.84) !important;
  border-radius: 18px !important;
  color: #fff !important;
  background: linear-gradient(145deg, #55d983, #0c9fbe) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.45), 0 8px 17px rgba(5,144,169,.27) !important;
}

html[data-theme="dark"] body.assistant-open,
body[data-theme="dark"].assistant-open {
  background: radial-gradient(circle at 14% 12%, rgba(102,232,255,.16), transparent 28%), linear-gradient(145deg, #062740, #0b4357 55%, #174936);
}

html[data-theme="dark"] body.assistant-open .wet-assistant-shell,
body[data-theme="dark"].assistant-open .wet-assistant-shell {
  background: radial-gradient(ellipse at 80% 0, rgba(77,215,238,.16), transparent 43%), linear-gradient(145deg, rgba(8,43,61,.97), rgba(13,66,76,.95) 60%, rgba(25,76,54,.94)) !important;
}

html[data-theme="dark"] body.assistant-open .assistant-main,
body[data-theme="dark"].assistant-open .assistant-main {
  color: #e7fbff;
}

html[data-theme="dark"] body.assistant-open .assistant-intro,
body[data-theme="dark"].assistant-open .assistant-intro,
html[data-theme="dark"] body.assistant-open .assistant-msg.assistant .assistant-bubble,
body[data-theme="dark"].assistant-open .assistant-msg.assistant .assistant-bubble {
  color: #e6fbff !important;
  background: linear-gradient(145deg, rgba(12,68,86,.92), rgba(16,102,103,.80)) !important;
  border-color: rgba(121,233,242,.27) !important;
}

html[data-theme="dark"] body.assistant-open .assistant-intro h1,
body[data-theme="dark"].assistant-open .assistant-intro h1 { color: #f1ffff !important; }
html[data-theme="dark"] body.assistant-open .assistant-intro h1::before,
body[data-theme="dark"].assistant-open .assistant-intro h1::before { color: #f1ffff; }
html[data-theme="dark"] body.assistant-open .assistant-hello-muted,
body[data-theme="dark"].assistant-open .assistant-hello-muted { color: #9ceeff !important; }
html[data-theme="dark"] body.assistant-open .wet-assistant-input,
body[data-theme="dark"].assistant-open .wet-assistant-input { background: linear-gradient(145deg, #0a4a63, #0d6a69) !important; border-color: rgba(138,238,239,.4) !important; }
html[data-theme="dark"] body.assistant-open .wet-assistant-input textarea,
body[data-theme="dark"].assistant-open .wet-assistant-input textarea { color: #efffff !important; }

@media (max-width: 820px) {
  body.assistant-open .wet-assistant-main { padding: 12px 12px 16px !important; }
  body.assistant-open .assistant-mobile-top { position: relative; z-index: 2; padding: 7px 8px; border-radius: 18px; color: #083b58; background: rgba(255,255,255,.56); border: 1px solid rgba(255,255,255,.66); box-shadow: inset 0 1px rgba(255,255,255,.8); }
  body.assistant-open .assistant-mobile-brand { color: #0b698f !important; text-shadow: none; }
  body.assistant-open .assistant-intro { min-height: min(52dvh, 500px); margin-top: 10px; padding: 30px 25px; border-radius: 28px; }
  body.assistant-open .assistant-intro::after { width: 290px; right: -19%; bottom: -10%; }
  body.assistant-open .assistant-intro h1 { font-size: clamp(31px, 11vw, 45px) !important; }
  body.assistant-open .assistant-form-chatgpt { padding-bottom: env(safe-area-inset-bottom); }
  body.assistant-open .wet-assistant-input { min-height: 60px; border-radius: 21px !important; }
}

@media (prefers-reduced-motion: no-preference) {
  body.assistant-open .wet-assistant-shell::before { animation: nexiBubbleFloat 8s ease-in-out infinite; }
  body.assistant-open .assistant-intro::after { animation: nexiBubbleFloat 11s ease-in-out -3s infinite; }
}

@keyframes nexiBubbleFloat {
  50% { transform: translate3d(0, -13px, 0) scale(1.025); }
}
