.site-assistant-nav-trigger,
.site-assistant-mobile-trigger {
  font: 800 .72rem/1 Manrope, Arial, sans-serif;
  cursor: pointer;
}

.site-assistant-nav-trigger {
  min-height: 44px;
  border-color: rgba(92, 214, 204, .46);
  background: rgba(25, 131, 124, .16);
}

.site-assistant-nav-trigger:hover,
.site-assistant-nav-trigger:focus-visible,
.site-assistant-nav-trigger.is-admin {
  border-color: rgba(92, 214, 204, .7);
  background: rgba(21, 126, 119, .26);
}

.site-assistant-mobile-trigger { font-family: inherit; }

.site-assistant-layer {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: grid;
  grid-template-columns: 1fr minmax(320px, 520px);
  color: #0d1b2a;
  font-family: Manrope, Arial, sans-serif;
}

.site-assistant-layer[hidden] { display: none; }

.site-assistant-scrim {
  grid-area: 1 / 1 / 2 / 3;
  border: 0;
  background: rgba(2, 10, 19, .58);
  backdrop-filter: blur(3px);
  cursor: pointer;
}

.site-assistant-drawer {
  position: relative;
  grid-area: 1 / 2;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  border-left: 1px solid rgba(159, 183, 198, .5);
  background: #f7f9fb;
  box-shadow: -24px 0 70px rgba(2, 12, 27, .28);
}

.site-assistant-drawer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.45rem 1.4rem 1.3rem;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background: #07111e;
  color: #fff;
}

.site-assistant-drawer-head > div { min-width: 0; }

.site-assistant-kicker {
  margin: 0 0 .38rem;
  color: #71d8d0;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.site-assistant-drawer-head h2 {
  margin: 0;
  font: 700 clamp(1.35rem, 3vw, 1.8rem)/1.1 Fraunces, Georgia, serif;
}

.site-assistant-drawer-head p:last-child {
  margin: .55rem 0 0;
  color: #aebdcc;
  font-size: .78rem;
  line-height: 1.45;
}

.site-assistant-close {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border: 1px solid #344253;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
}

.site-assistant-close:hover,
.site-assistant-close:focus-visible {
  border-color: #6ad7cf;
  background: rgba(106, 215, 207, .12);
}

.site-assistant-mode-switch {
  display: flex;
  flex: 0 0 auto;
  gap: .45rem;
  padding: .75rem 1rem;
  border-bottom: 1px solid #dde6eb;
  background: #fff;
}

.site-assistant-mode-switch[hidden] { display: none; }

.site-assistant-mode-switch button {
  min-height: 36px;
  padding: .48rem .75rem;
  border: 1px solid #c7d5de;
  border-radius: 999px;
  background: #fff;
  color: #405264;
  font: 800 .68rem/1 Manrope, Arial, sans-serif;
  cursor: pointer;
}

.site-assistant-mode-switch button.is-active {
  border-color: #247d77;
  background: #e0f3f0;
  color: #135c57;
}

.site-assistant-layer[data-mode="codebase"] .site-assistant-drawer-head { background: #10253d; }
.site-assistant-layer[data-mode="codebase"] .site-assistant-kicker { color: #8dc8ff; }

.site-assistant-layer[data-mode="codebase"] .site-assistant-mode-switch button.is-active {
  border-color: #477cae;
  background: #e8f2fc;
  color: #204f7a;
}

.site-assistant-messages {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: .9rem;
  min-height: 0;
  padding: 1.1rem 1.15rem;
  overflow: auto;
  background: #f7f9fb;
}

.site-assistant-message {
  display: grid;
  gap: .24rem;
  max-width: 92%;
}

.site-assistant-message small {
  color: #6b7b8b;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.site-assistant-message > p,
.site-assistant-message-body {
  margin: 0;
  padding: .78rem .86rem;
  border: 1px solid #d8e3e9;
  border-radius: 4px 14px 14px 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(20, 44, 65, .05);
  color: #263849;
  font-size: .84rem;
  line-height: 1.58;
}

.site-assistant-message > p { white-space: pre-wrap; }

.site-assistant-message-body > :first-child { margin-top: 0; }
.site-assistant-message-body > :last-child { margin-bottom: 0; }
.site-assistant-message-body p { margin: .5rem 0; }
.site-assistant-message-body h3 {
  margin: .65rem 0 .25rem;
  color: #1e3448;
  font-size: .88rem;
}
.site-assistant-message-body ol,
.site-assistant-message-body ul {
  margin: .45rem 0;
  padding-left: 1.35rem;
}
.site-assistant-message-body li + li { margin-top: .24rem; }
.site-assistant-message-body code {
  padding: .08rem .25rem;
  border-radius: 4px;
  background: #edf2f5;
  font-size: .78rem;
}
.site-assistant-message-body a { color: #176e88; }
.site-assistant-table-wrap {
  max-width: 100%;
  margin: .55rem 0;
  overflow-x: auto;
}
.site-assistant-message-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: .76rem;
  line-height: 1.45;
}
.site-assistant-message-body th,
.site-assistant-message-body td {
  padding: .42rem .48rem;
  border: 1px solid #d8e3e9;
  text-align: left;
  vertical-align: top;
}
.site-assistant-message-body th { background: #eef4f7; }

.site-assistant-message.is-user { align-self: flex-end; }
.site-assistant-message.is-user small { text-align: right; }

.site-assistant-message.is-user p {
  border-color: #b8dbd6;
  border-radius: 14px 4px 14px 14px;
  background: #e2f3f1;
  color: #174844;
}

.site-assistant-message > ul {
  margin: .1rem 0 0;
  padding: .6rem .8rem .6rem 1.6rem;
  border: 1px solid #d6e2eb;
  border-radius: 10px;
  background: #eef4f8;
  color: #4c6174;
  font: 600 .68rem/1.5 Manrope, Arial, sans-serif;
}

.site-assistant-starters {
  display: flex;
  flex: 0 0 auto;
  gap: .45rem;
  padding: .65rem 1rem .25rem;
  overflow: auto;
  border-top: 1px solid #e0e7ec;
  background: #fff;
}

.site-assistant-starters button {
  flex: 0 0 auto;
  max-width: 220px;
  min-height: 34px;
  padding: .45rem .65rem;
  border: 1px solid #cedae2;
  border-radius: 999px;
  background: #fff;
  color: #405466;
  font: 700 .66rem/1.25 Manrope, Arial, sans-serif;
  cursor: pointer;
}

.site-assistant-starters button:hover,
.site-assistant-starters button:focus-visible {
  border-color: #418d87;
  background: #edf7f5;
}

.site-assistant-composer {
  display: grid;
  flex: 0 0 auto;
  gap: .55rem;
  padding: .8rem 1rem 1rem;
  background: #fff;
}

.site-assistant-composer > label {
  color: #34485a;
  font-size: .7rem;
  font-weight: 800;
}

.site-assistant-voice-controls {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.site-assistant-voice-controls button {
  min-height: 36px;
  padding: .48rem .7rem;
  border: 1px solid #c7d5de;
  border-radius: 999px;
  background: #f5faf9;
  color: #31504a;
  font: 800 .68rem/1 Manrope, Arial, sans-serif;
  cursor: pointer;
}

.site-assistant-voice-controls button:hover,
.site-assistant-voice-controls button:focus-visible {
  border-color: #418d87;
  background: #eaf6f4;
}

.site-assistant-voice-controls button[hidden] { display: none; }
.site-assistant-answer-speaker { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; margin-left: .4rem; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; opacity: .75; }
.site-assistant-answer-speaker:hover, .site-assistant-answer-speaker[aria-pressed="true"] { color: #16836f; opacity: 1; }
.site-assistant-answer-speaker:focus-visible { outline: 2px solid #20c5e9; outline-offset: 2px; }
.site-assistant-voice-controls button:disabled { opacity: .55; cursor: wait; }
.site-assistant-voice-controls [data-assistant-voice] span { color: #16836f; }

.site-assistant-voice-controls [data-assistant-voice].is-recording {
  border-color: rgba(185, 28, 28, .35);
  background: #fff2f2;
  color: #8b1e1e;
}

.site-assistant-voice-controls [data-assistant-voice].is-recording span {
  color: #dc2626;
  animation: site-assistant-voice-pulse 1s ease-in-out infinite;
}

.site-assistant-security[hidden] { display: none; }

.site-assistant-security {
  display: flex;
  min-height: 34px;
  align-items: center;
  gap: .55rem;
  color: #526b78;
}

.site-assistant-security p {
  margin: 0;
  font-size: .66rem;
  line-height: 1.35;
}

.site-assistant-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: .55rem;
}

.site-assistant-input-row textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  max-height: 170px;
  resize: vertical;
  padding: .72rem .78rem;
  border: 1px solid #bfcfd9;
  border-radius: 10px;
  background: #fff;
  color: #172a3a;
  font: 500 16px/1.45 Manrope, Arial, sans-serif;
}

.site-assistant-input-row textarea:focus {
  border-color: #357f79;
  outline: 2px solid rgba(53, 151, 143, .25);
}

.site-assistant-input-row button {
  min-width: 72px;
  min-height: 42px;
  padding: .62rem .8rem;
  border: 1px solid #173c3a;
  border-radius: 9px;
  background: #153f3c;
  color: #fff;
  font: 800 .72rem/1 Manrope, Arial, sans-serif;
  cursor: pointer;
}

.site-assistant-layer[data-mode="codebase"] .site-assistant-input-row button {
  border-color: #173c63;
  background: #173c63;
}

.site-assistant-input-row button:disabled { opacity: .55; cursor: wait; }

.site-assistant-status {
  height: 2.8em;
  overflow-y: auto;
  overflow-wrap: anywhere;
  margin: 0;
  color: #66798a;
  font-size: .66rem;
  line-height: 1.4;
}

.site-assistant-is-open { overflow: hidden; }

@media (max-width: 760px) {
  .site-assistant-nav-trigger { display: none; }
  .site-assistant-layer { grid-template-columns: 1fr; }
  .site-assistant-scrim { display: none; }
  .site-assistant-drawer { grid-area: 1 / 1; border-left: 0; }
  .site-assistant-drawer-head { padding: 1.1rem 1rem; }
  .site-assistant-messages { padding: .9rem; }
  .site-assistant-starters { padding-inline: .8rem; }
  .site-assistant-composer { padding: .75rem .8rem calc(.8rem + env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: no-preference) {
  .site-assistant-drawer { animation: site-assistant-enter .2s ease-out; }
  @keyframes site-assistant-enter {
    from { transform: translateX(24px); opacity: .7; }
    to { transform: none; opacity: 1; }
  }
  @keyframes site-assistant-voice-pulse { 50% { opacity: .3; } }
}
.site-assistant-files { margin-top: 10px; }
.site-assistant-files[hidden], .nex-files-dialog [hidden] { display: none !important; }
.site-assistant-files button { padding: 8px 12px; cursor: pointer; border: 1px solid #bbcfc6; border-radius: 8px; background: white; color: #174d3c; font: inherit; }
.nex-files-dialog { box-sizing: border-box; width: min(1100px, calc(100% - 32px)); max-width: none; height: min(780px, 90dvh); max-height: 90dvh; padding: 0; border: 1px solid #cfdbdf; border-radius: 16px; background: #edf4f6; color: #23443f; font: 14px/1.5 Manrope, Arial, sans-serif; box-shadow: 0 24px 90px #082b3b40; }
.nex-files-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.nex-files-dialog::backdrop { background: #092d38a6; }
.nex-files-dialog * { box-sizing: border-box; }
.nex-files-dialog button { font: inherit; cursor: pointer; border: 1px solid #d6e0e4; border-radius: 9px; background: white; color: #23443f; padding: 10px 14px; }
.nex-files-dialog button:disabled { opacity: .5; cursor: default; }
.nex-files-dialog button:focus-visible, .nex-files-dialog input:focus-visible { outline: 3px solid #4b9f95; outline-offset: 2px; }
.nex-files-header, .nex-files-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: white; padding: 20px 24px; }
.nex-files-header { border-bottom: 1px solid #d9e3e7; }
.nex-files-header h2 { margin: 0; font: 750 23px/1.3 Manrope, Arial, sans-serif; color: #23443f; }
.nex-files-header p { margin: 4px 0 0; color: #687d86; }
.nex-files-layout { min-height: 0; display: grid; grid-template-columns: 245px minmax(0, 1fr); }
.nex-files-sidebar { overflow: auto; padding: 20px 12px; background: white; border-right: 1px solid #d9e3e7; }
.nex-files-sidebar h3 { margin: 0 10px 12px; color: #338478; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.nex-folder-row { display: flex; align-items: center; min-width: 0; }
.nex-files-dialog .nex-folder-toggle { flex: 0 0 22px; width: 22px; padding: 5px 0; border: 0; background: transparent; }
.nex-files-dialog .nex-folder-choice { min-width: 0; flex: 1; text-align: left; padding: 10px 8px; border: 0; background: transparent; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 650; }
.nex-folder-choice::before, .nex-folder-card::before { content: ''; display: inline-block; width: 17px; height: 13px; background: #bd873b; clip-path: polygon(0 0, 40% 0, 50% 20%, 100% 20%, 90% 100%, 0 100%); margin-right: 8px; vertical-align: middle; }
.nex-files-dialog .nex-folder-choice.is-selected { background: #e0f0ec; }
.nex-files-main { padding: 24px; overflow: auto; min-width: 0; }
.nex-files-toolbar { display: flex; align-items: start; gap: 16px; justify-content: space-between; margin-bottom: 20px; }
.nex-files-toolbar nav { display: flex; flex-wrap: wrap; align-items: center; }
.nex-files-toolbar nav button { padding: 4px 3px; background: none; border: 0; font-weight: 700; }
.nex-files-toolbar nav button + button::before { content: '/'; margin-right: 8px; color: #8a9a9f; }
.nex-files-dialog .nex-files-primary { background: #14574d; color: white; border-color: #14574d; font-weight: 700; flex-shrink: 0; }
.nex-files-search { display: grid; gap: 5px; color: #647b83; font-size: 12px; }
.nex-files-search input { width: 100%; padding: 12px 14px; border: 1px solid #d2dfe5; border-radius: 9px; background: white; color: #23443f; font: inherit; font-size: 14px; }
.nex-folder-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; margin: 16px 0; }
.nex-files-dialog .nex-folder-card { text-align: left; padding: 14px; overflow-wrap: anywhere; }
.nex-folder-card strong { font-size: 13px; }
.nex-folder-card small { display: block; color: #74848e; padding-top: 5px; }
.nex-files-staging h3 { font-size: 14px; margin: 20px 0 10px; }
.nex-files-drop { display: grid; justify-items: center; gap: 5px; padding: 28px 12px; border: 2px dashed #b8cecf; border-radius: 12px; background: #f8fbfb; color: #5a757a; text-align: center; }
.nex-files-drop strong { color: #315b53; }
.nex-files-drop small { color: #819196; }
.nex-files-drop.is-dragging { background: #dcefe9; border-color: #337e70; }
.nex-files-queue { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 8px; }
.nex-files-queue li { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid #dce5e8; border-radius: 10px; background: white; }
.nex-files-queue img, .nex-file-icon { width: 48px; height: 48px; flex-shrink: 0; border-radius: 7px; object-fit: cover; background: #e7efef; }
.nex-file-icon { display: grid; place-items: center; font-size: 10px; font-weight: 750; }
.nex-files-queue li > div { min-width: 0; flex: 1; }
.nex-files-queue strong { display: block; overflow-wrap: anywhere; font-size: 13px; }
.nex-files-queue small { display: block; color: #788991; }
.nex-files-queue button { border: 0; font-size: 20px; padding: 4px 10px; }
.nex-files-footer { border-top: 1px solid #d9e3e7; }
.nex-files-footer p { margin: 0; overflow-wrap: anywhere; }
.nex-files-footer [data-destination] { font-weight: 650; }
.nex-files-footer [data-status] { color: #74838a; font-size: 12px; margin-top: 4px; }
@media (max-width: 650px) {
  .nex-files-dialog { width: calc(100% - 16px); height: 94dvh; max-height: 94dvh; border-radius: 12px; }
  .nex-files-layout { grid-template-columns: 140px minmax(0, 1fr); }
  .nex-files-header, .nex-files-footer { padding: 14px; gap: 10px; }
  .nex-files-header h2 { font-size: 19px; }
  .nex-files-header p { font-size: 12px; }
  .nex-files-sidebar { padding: 14px 4px; }
  .nex-files-dialog .nex-folder-choice { font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
  .nex-files-main { padding: 12px; }
  .nex-files-toolbar { flex-direction: column; gap: 8px; }
  .nex-folder-grid { grid-template-columns: minmax(0, 1fr); }
  .nex-files-drop { padding: 16px 8px; font-size: 12px; }
  .nex-files-queue li { flex-wrap: wrap; gap: 6px; }
  .nex-files-footer [data-destination] { font-size: 12px; }
}

.product-help-guides { padding: 12px; border: 1px solid #638784; border-radius: 12px; margin: 8px 0; }
.product-help-guides summary { cursor: pointer; font-weight: 700; }
.product-help-guides button,.product-help-walkthrough button { font: inherit; padding: 8px 12px; margin: 6px 6px 0 0; border: 1px solid #719b98; border-radius: 8px; background: #123333; color: #fff; cursor: pointer; }
.product-help-walkthrough { position: fixed; bottom: 16px; right: 16px; z-index: 2147483000; width: min(360px,calc(100vw - 32px)); max-height: 45vh; overflow: auto; padding: 18px; box-sizing: border-box; background: #102827; color: #fff; border: 1px solid #83b8b1; border-radius: 16px; box-shadow: 0 6px 30px #0005; font: 14px/1.5 system-ui,sans-serif; }
.product-help-walkthrough button:disabled { opacity: .5; }
.product-help-highlight { outline: 3px solid #16b8a6 !important; outline-offset: 4px; }

/* Keep the composer compact and message content visually uncluttered. */
.site-assistant-message { min-width: 0; }
.site-assistant-message-body { box-shadow: none; overflow-wrap: anywhere; }
.site-assistant-message-body a { text-decoration: underline; text-underline-offset: 3px; font-weight: 650; }
.site-assistant-message-body a:focus-visible { outline: 2px solid #357f79; outline-offset: 3px; }
.site-assistant-composer > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.site-assistant-status:empty { visibility: hidden; }
.site-assistant-starters:empty { display: none; }
.site-assistant-starters button { min-height: 44px; }
.site-assistant-voice-controls button { min-height: 44px; }
.site-assistant-close { min-width: 44px; min-height: 44px; }
@media (max-width: 760px) {
  .site-assistant-drawer-head { padding: .8rem 1rem; }
  .site-assistant-drawer-head p:last-child { margin-top: .35rem; font-size: .72rem; }
  .site-assistant-message { max-width: 100%; }
  .site-assistant-composer { gap: .35rem; padding-top: .5rem; padding-bottom: calc(.5rem + env(safe-area-inset-bottom)); }
  .site-assistant-starters { padding-top: .35rem; }
}

/* NEX is invited into the assistant, never floated over the page. */
.nex-entrance { flex: 0 0 auto; background: #070c12; color: #fff; }
.nex-entrance-controls { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; padding: .45rem 1rem; }
.nex-entrance-controls button { min-height: 44px; padding: .45rem .85rem; border: 1px solid #37515d; border-radius: 999px; background: #12242d; color: #bcf2ff; font: 700 .75rem/1.2 Manrope, sans-serif; cursor: pointer; }
.nex-entrance-controls button:hover { background: #1a3945; }
.nex-entrance-controls button:focus-visible { outline: 2px solid #20c5e9; outline-offset: 3px; }
.nex-entrance-controls span { font-size: .7rem; color: #aebdcc; }
.nex-character-stage { position: relative; height: clamp(140px, 26dvh, 250px); padding-top: 24px; box-sizing: border-box; overflow: hidden; isolation: isolate; }
.nex-character-stage[hidden], .nex-entrance-controls [hidden] { display: none; }
.nex-hop-character { position: relative; display: block; height: calc(100% - 12px); width: auto; max-width: 100%; margin: 0 auto; object-fit: contain; transform-origin: 50% 94%; z-index: 1; }
.nex-landing-shadow { position: absolute; bottom: 7px; left: calc(50% - 44px); width: 88px; height: 9px; border-radius: 50%; background: #23c8e5; filter: blur(7px); opacity: .2; }
@keyframes nex-hop-in {
  0% { transform: translate(95px, 110%) rotate(14deg) scale(.65); opacity: 0; }
  12% { opacity: 1; }
  38% { transform: translate(-12px, -10%) rotate(-7deg) scale(.94, 1.04); }
  61% { transform: translate(0, 3%) rotate(2deg) scale(1.12, .86); }
  77% { transform: translate(0, -5%) rotate(-2deg) scale(.97, 1.03); }
  91% { transform: translate(0, 1%) rotate(1deg) scale(1.025, .975); }
  100% { transform: none; opacity: 1; }
}
@keyframes nex-shadow-in {
  0%, 15% { transform: scale(.2); opacity: 0; }
  38% { transform: scale(.6); opacity: .09; }
  61% { transform: scale(1.25); opacity: .3; }
  77% { transform: scale(.85); opacity: .13; }
  100% { transform: scale(1); opacity: .2; }
}
@media (prefers-reduced-motion: no-preference) {
  .nex-character-stage.is-hopping .nex-hop-character { animation: nex-hop-in 1050ms cubic-bezier(.22,.61,.36,1) both; }
  .nex-character-stage.is-hopping .nex-landing-shadow { animation: nex-shadow-in 1050ms ease-out both; }
}
@media (max-height: 700px) {
  .nex-character-stage { height: 135px; }
}

/* Discreet invitation; full-screen character conversation when invited. */
.nex-entrance-controls { justify-content: center; text-align: center; }
.nex-entrance-controls button { border: 0; border-radius: 0; background: transparent; color: #b5c6cf; font-weight: 500; }
.nex-entrance-controls button:hover { background: transparent; color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.site-assistant-layer.has-nex-character { grid-template-columns: 1fr; }
.has-nex-character .site-assistant-drawer { grid-area: 1 / 1; background: #070c12; border: 0; }
.has-nex-character .site-assistant-drawer-head { position: absolute; top: 0; right: 0; z-index: 3; padding: .65rem; border: 0; background: transparent; }
.has-nex-character .site-assistant-drawer-head > div { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.has-nex-character .nex-entrance { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.has-nex-character .nex-entrance-controls { flex: 0 0 auto; padding: .65rem 4rem 0; }
.has-nex-character .nex-character-stage { flex: 1 1 auto; min-height: 0; height: auto; padding-top: max(24px, 5dvh); }
.has-nex-character .nex-hop-character { width: 100%; height: calc(100% - 12px); }
.has-nex-character .site-assistant-messages { flex: 0 1 auto; max-height: 15dvh; width: min(760px, 100%); box-sizing: border-box; align-self: center; background: transparent; color: #e5edf1; padding: .4rem 1rem; }
.has-nex-character .site-assistant-message { display: none; }
.has-nex-character .site-assistant-message:last-child { display: block; max-width: 100%; text-align: center; }
.has-nex-character .site-assistant-message small { display: none; }
.has-nex-character .site-assistant-message-body,
.has-nex-character .site-assistant-message > p { background: transparent; color: #e5edf1; border: 0; padding: 0; }
.has-nex-character .site-assistant-starters { display: none; }
.has-nex-character .site-assistant-composer { flex: 0 0 auto; width: min(760px, 100%); box-sizing: border-box; align-self: center; background: transparent; border: 0; }
.has-nex-character .site-assistant-status { color: #c4d3dc; }
.has-nex-character .site-assistant-voice-controls { justify-content: center; }
.has-nex-character .site-assistant-mode-switch { flex: 0 0 auto; }

/* Character view keeps the existing conversation available behind the view. */
.has-nex-character .site-assistant-drawer > :not(.site-assistant-drawer-head):not(.nex-entrance):not(.site-assistant-composer) { display: none; }
.has-nex-character .site-assistant-composer > :not(.site-assistant-voice-controls):not(.site-assistant-status):not(.site-assistant-security) { display: none; }
.has-nex-character .site-assistant-composer { padding: .5rem 1rem max(1rem, env(safe-area-inset-bottom)); }
.has-nex-character .site-assistant-status { text-align: center; }
.has-nex-character .nex-character-stage { padding-top: max(60px, 7dvh); padding-bottom: 20px; }
