/*
  v6.5.30 preserve patch
  Base is the user's uploaded v6.5.28 zip. This file is intentionally narrow:
  it only corrects the Focus control row, Focus card parity with Messenger,
  Speed Read yellow, and footer centering. Existing app code remains intact.
*/

:root {
  --focus-row-height: 40px;
  --focus-row-gap: 8px;
  --scene-highlight-yellow: #ffd84d;
  --scene-highlight-yellow-soft: rgba(255, 216, 77, .16);
}

/* -----------------------------
   Focus top controls: exact 12-column row.
   Workspace 3 | edit 1 | conversation 3 | edit 1 | new conversation 2 | start walkthrough 2
   ----------------------------- */
body .stage > section.view.focus-view.is-active[data-view="focus"] .response-meta.focus-context-bar,
body .stage > section.view.focus-view.is-active[data-view="focus"] .response-meta.focus-context-bar.is-production-focus-context {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--focus-row-height) !important;
  max-height: 100px !important;
  margin: 0 !important;
  padding: 0 0 10px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: var(--focus-row-height) !important;
  align-items: center !important;
  gap: 0 !important;
  overflow: hidden !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects.is-production-focus-controls {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--focus-row-height) !important;
  min-height: var(--focus-row-height) !important;
  max-height: var(--focus-row-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns:
    minmax(150px, 3fr)
    minmax(36px, 1fr)
    minmax(150px, 3fr)
    minmax(36px, 1fr)
    minmax(116px, 2fr)
    minmax(132px, 2fr) !important;
  grid-template-rows: var(--focus-row-height) !important;
  grid-auto-flow: column !important;
  gap: var(--focus-row-gap) !important;
  align-items: stretch !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  box-sizing: border-box !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects::-webkit-scrollbar {
  display: none !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] #focusCreateWorkspaceButton,
body .stage > section.view.focus-view.is-active[data-view="focus"] #focusFullscreenButton {
  display: none !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-thread-actions,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-thread-actions.is-production-focus-actions {
  display: contents !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects > label,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects select,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-icon-action,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-action-button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--focus-row-height) !important;
  min-height: var(--focus-row-height) !important;
  max-height: var(--focus-row-height) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects > label {
  display: block !important;
  overflow: hidden !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects > label > span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  clip: rect(0, 0, 0, 0) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects select {
  display: block !important;
  padding: 0 32px 0 13px !important;
  border-radius: 8px !important;
  line-height: var(--focus-row-height) !important;
  font-size: 12px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] #focusRenameWorkspaceButton,
body .stage > section.view.focus-view.is-active[data-view="focus"] #focusRenameConversationButton {
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] #focusRenameWorkspaceButton svg,
body .stage > section.view.focus-view.is-active[data-view="focus"] #focusRenameConversationButton svg {
  width: 18px !important;
  height: 18px !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] #focusNewThreadButton,
body .stage > section.view.focus-view.is-active[data-view="focus"] #focusWalkthroughButton {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  font-family: var(--sans, ui-sans-serif) !important;
  font-size: clamp(9px, .62vw, 11px) !important;
  font-weight: 800 !important;
  letter-spacing: .11em !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] #focusNewThreadButton svg,
body .stage > section.view.focus-view.is-active[data-view="focus"] #focusWalkthroughButton svg {
  display: none !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] #focusResponseTime {
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 4px) !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  color: color-mix(in srgb, var(--cream, #e4d6bd) 28%, transparent) !important;
  font-size: 10px !important;
}

/* -----------------------------
   Focus cards match the Messenger conversation message cards.
   This intentionally uses the high-specificity Focus selectors that earlier mobile CSS used.
   ----------------------------- */
body .stage > section.view.focus-view.is-active[data-view="focus"] .response-content .focus-thread-slice {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .response-content .focus-thread-slice .message,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-message,
body .stage > section.view.focus-view.is-active[data-view="focus"] .message {
  flex: 0 0 auto !important;
  width: fit-content !important;
  min-width: min(280px, 100%) !important;
  max-width: min(900px, 86%) !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1px solid color-mix(in srgb, var(--amber, #c77a4b) 24%, transparent) !important;
  border-left: 2px solid color-mix(in srgb, var(--amber, #c77a4b) 62%, transparent) !important;
  border-right: 1px solid color-mix(in srgb, var(--amber, #c77a4b) 24%, transparent) !important;
  border-radius: 12px !important;
  background: rgba(7, 10, 8, .42) !important;
  box-shadow: none !important;
  text-align: left !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .response-content .focus-thread-slice .message.user,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-message.user,
body .stage > section.view.focus-view.is-active[data-view="focus"] .message.user {
  align-self: flex-end !important;
  margin-left: auto !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  border-left: 1px solid color-mix(in srgb, var(--cream, #e4d6bd) 16%, transparent) !important;
  border-right: 2px solid color-mix(in srgb, var(--cream, #e4d6bd) 34%, transparent) !important;
  text-align: right !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .response-content .focus-thread-slice .message-name {
  margin: 0 0 9px !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .response-content .focus-thread-slice .message-text {
  font-size: 14px !important;
  line-height: 1.62 !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .response-content .focus-thread-slice .message-image {
  width: min(760px, 100%) !important;
  max-width: min(760px, 100%) !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .response-content .focus-thread-slice .message-image img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: min(48vh, 480px) !important;
  object-fit: contain !important;
}

/* -----------------------------
   Actual yellow Speed Read / highlighted scenes.
   ----------------------------- */
body .stage > section.view.page-view.is-active[data-view="messenger"] #speedReadButton[aria-pressed="true"] {
  border-color: var(--scene-highlight-yellow) !important;
  color: #120f05 !important;
  background: linear-gradient(180deg, #ffe777, var(--scene-highlight-yellow)) !important;
  box-shadow: 0 0 0 1px rgba(255, 216, 77, .45), 0 0 28px rgba(255, 216, 77, .22) !important;
}

body .stage > section.view.page-view.is-active[data-view="messenger"] .speed-read-excerpt,
body .stage > section.view.page-view.is-active[data-view="messenger"] .thread-body.is-speed-read .speed-read-excerpt {
  border-left-color: var(--scene-highlight-yellow) !important;
  background: linear-gradient(90deg, rgba(255, 216, 77, .24), rgba(255, 216, 77, .08)) !important;
  color: color-mix(in srgb, var(--scene-highlight-yellow) 72%, var(--cream, #e4d6bd) 28%) !important;
}

/* -----------------------------
   Footer centered: links row centered, copyright centered below.
   ----------------------------- */
body .app .core-legal-footer,
body .app.compact-nav .core-legal-footer {
  left: var(--ab-rail-width, var(--rail-width, 320px)) !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  min-height: var(--fm-footer-h, 72px) !important;
  height: var(--fm-footer-h, 72px) !important;
  max-height: var(--fm-footer-h, 72px) !important;
  padding: 8px 18px calc(8px + var(--safe-bottom, env(safe-area-inset-bottom, 0px))) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  justify-items: center !important;
  justify-content: center !important;
  align-content: center !important;
  gap: 6px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

body .app .core-legal-footer .core-footer-links {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px clamp(18px, 2vw, 28px) !important;
  text-align: center !important;
  pointer-events: auto !important;
}

body .app .core-legal-footer .core-footer-copy {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;
  text-align: center !important;
  justify-self: center !important;
  pointer-events: auto !important;
}

@media (max-width: 1180px) {
  body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects,
  body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects.is-production-focus-controls {
    min-width: 760px !important;
  }
}

@media (max-width: 820px) {
  body .app .core-legal-footer,
  body .app.compact-nav .core-legal-footer {
    display: none !important;
  }
}


/* -----------------------------
   v6.5.31 exact Focus action row lock.
   Keep the user's existing controls, but make the six requested controls
   the only visible cells in the single row:
   workspace select | workspace edit | conversation select | conversation edit | new conversation | start walkthrough
   ----------------------------- */
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects {
  grid-template-columns:
    minmax(160px, 3fr)
    minmax(42px, 1fr)
    minmax(160px, 3fr)
    minmax(42px, 1fr)
    minmax(132px, 2fr)
    minmax(142px, 2fr) !important;
  grid-template-rows: var(--focus-row-height) !important;
  grid-auto-flow: unset !important;
  align-items: stretch !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-workspace-field {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] #focusRenameWorkspaceButton {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: grid !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-conversation-field {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] #focusRenameConversationButton {
  grid-column: 4 !important;
  grid-row: 1 !important;
  display: grid !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] #focusNewThreadButton {
  grid-column: 5 !important;
  grid-row: 1 !important;
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] #focusWalkthroughButton {
  grid-column: 6 !important;
  grid-row: 1 !important;
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] #focusCreateWorkspaceButton,
body .stage > section.view.focus-view.is-active[data-view="focus"] #focusFullscreenButton,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-thread-actions {
  display: none !important;
}

body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects > .focus-workspace-field,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects > .focus-conversation-field,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects > #focusRenameWorkspaceButton,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects > #focusRenameConversationButton,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects > #focusNewThreadButton,
body .stage > section.view.focus-view.is-active[data-view="focus"] .focus-context-selects > #focusWalkthroughButton {
  align-self: stretch !important;
}
