/* LAUNCH_FIX6 A: fixed document shell and keyboard-only bottom inset. */

:root {
  --vvh:100dvh;
  --kb-inset:0px;
}

html,
body {
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden;
  overscroll-behavior:none;
}

body {
  position:fixed;
  inset:0;
}

#blueink-r11 .screen,
#blueink-r11[data-pwa-standalone] .screen {
  top:0;
  right:0;
  bottom:var(--kb-inset,0px);
  left:0;
  height:auto;
  min-height:0;
}

html[data-keyboard-open="true"] #blueink-r11 .r12-composer,
html[data-keyboard-open="true"] #blueink-r11[data-pwa-standalone] .r12-composer {
  margin-bottom:7px;
}

html[data-keyboard-open="true"] #blueink-r11 .r12-composer::after,
html[data-keyboard-open="true"] #blueink-r11[data-pwa-standalone] .r12-composer::after {
  height:7px;
  background:var(--bg);
}

html[data-keyboard-open="true"] #blueink-r11 .bottom-nav {
  visibility:hidden;
  pointer-events:none;
}

/* LAUNCH_FIX6 B: persistent dock and in-app chat image viewer. */
#blueink-r11 .bottom-nav[hidden] {
  display:none !important;
}

#blueink-r11 .chat-image-button {
  display:block;
  max-width:100%;
  margin:4px 0;
  padding:0;
  border-radius:14px;
  overflow:hidden;
}

#blueink-r11 .image-viewer {
  position:absolute;
  inset:0;
  z-index:180;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:rgba(8,12,22,.94);
  touch-action:none;
}

#blueink-r11 .image-viewer-stage {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:64px 12px 40px;
}

#blueink-r11 .image-viewer-stage img {
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  transform-origin:center;
  transition:transform 80ms linear;
  user-select:none;
  -webkit-user-drag:none;
}

#blueink-r11 .image-viewer-close {
  position:absolute;
  z-index:2;
  top:calc(12px + var(--top-safe));
  right:14px;
  width:44px;
  height:44px;
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.14);
  font:300 30px/1 sans-serif;
}

/* LAUNCH_FIX6 C: one timestamp per message and a compact, blended composer. */
#blueink-r11 .r12-message-list .bubble {
  padding:9px 13px 10px;
}

#blueink-r11 .r12-message-list .message-time,
#blueink-r11 .r12-message-list .user .message-time,
#blueink-r11 .r12-message-list :is(.bubble-group-top,.bubble-group-middle) .message-time {
  position:static;
  display:block;
  width:fit-content;
  height:auto;
  margin:5px 0 0 auto;
  padding:0;
  overflow:visible;
  clip:auto;
  clip-path:none;
  color:var(--ink-3);
  font:10px/1.15 var(--font-number);
  white-space:nowrap;
}

#blueink-r11 .r12-composer::before {
  height:58px;
  background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--bg) 76%,transparent) 58%,var(--bg) 100%);
}

#blueink-r11 .r12-composer .composer-box {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:5px;
  padding:6px 7px 6px 10px;
  border:1px solid color-mix(in srgb,var(--hair) 72%,transparent);
  background:color-mix(in srgb,#FFFDF9 91%,transparent);
  box-shadow:0 4px 18px rgba(70,56,40,.06);
}

#blueink-r11[data-theme=night] .r12-composer .composer-box {
  border-color:color-mix(in srgb,var(--hair) 78%,transparent);
  background:color-mix(in srgb,#232A42 88%,transparent);
  box-shadow:0 4px 20px rgba(0,0,0,.12);
}

#blueink-r11 .r12-composer textarea {
  align-self:center;
  min-height:28px;
  max-height:96px;
  padding:4px 5px;
  line-height:20px;
}

#blueink-r11 .r12-composer .compose-tools {
  align-self:end;
  min-height:32px;
  height:auto;
  margin:0;
  gap:0;
}

#blueink-r11 .r12-composer .daily-media-toolbar {
  min-height:32px;
}

#blueink-r11 .r12-composer .daily-media-tool {
  width:28px;
  height:28px;
  min-height:28px;
}

#blueink-r11 .r12-composer .send-btn {
  width:32px!important;
  height:32px!important;
}

#blueink-r11 .r12-composer .composer-box:has(.daily-media-preview:not([hidden])) .compose-tools,
#blueink-r11 .r12-composer .composer-box:has(.daily-media-status:not([hidden])) .compose-tools {
  grid-column:1 / -1;
}

/* LAUNCH_FIX6 D: uploaded avatars everywhere, plus a balanced nine-card life grid. */
#blueink-r11 .family-avatars {
  position:relative;
  display:block;
  width:124px;
  height:82px;
}

#blueink-r11 .family-card .family-avatars img {
  position:absolute;
  width:48px;
  height:48px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 0 0 2px var(--paper-light),0 0 0 3px var(--gold-soft);
}

#blueink-r11 .family-card .family-avatars img[data-avatar-kind="user"] { left:8px; top:6px; }
#blueink-r11 .family-card .family-avatars img[data-avatar-kind="assistant"] { left:43px; top:18px; }
#blueink-r11 .family-card .family-avatars .family-xingbao {
  right:0;
  bottom:0;
  width:52px;
  height:46px;
  border-radius:0;
  object-fit:contain;
  box-shadow:none;
}

#blueink-r11 .life-collage .life-entry:last-child {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  align-items:center;
  min-height:92px;
}

#blueink-r11 .life-collage .life-entry:last-child img {
  width:104px;
  height:82px;
  max-height:82px;
  padding:6px 4px;
}

#blueink-r11 .life-collage .life-entry:last-child .life-entry-copy {
  padding:10px 14px 10px 6px;
}

#blueink-r11 .xingbao-entry {
  margin-top:18px;
}
