.eoa {
  --eoa-teal: #148a7d;
  --eoa-teal-dark: #176b63;
  --eoa-coral: #eb693a;
  --eoa-gold: #bea369;
  --eoa-ink: #172033;
  --eoa-body: #536174;
  --eoa-line: #dfe5e7;
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 2147483000;
  color: var(--eoa-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.eoa *, .eoa *::before, .eoa *::after { box-sizing: border-box; }
.eoa [hidden] { display: none !important; }
.eoa button, .eoa textarea, .eoa a { font: inherit; }
.eoa button { -webkit-tap-highlight-color: transparent; }

.eoa__launcher {
  position: relative;
  display: grid;
  width: 92px;
  min-width: 92px;
  min-height: 92px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  filter: drop-shadow(0 16px 25px rgb(23 107 99 / 0.24));
  transition: opacity 180ms ease, transform 180ms ease;
}

.eoa__orb { position: absolute; inset: 0; isolation: isolate; border-radius: 50%; }
.eoa__glow {
  position: absolute; inset: 13%; border-radius: 50%;
  background: radial-gradient(ellipse at 22% 60%, #33c5b651, transparent 68%), radial-gradient(ellipse at 78% 35%, #ee6b4752, transparent 65%);
  filter: blur(8px); transition: filter 240ms ease, opacity 240ms ease;
}
.eoa__core {
  position: absolute; inset: 11%; border-radius: 50%;
  background: radial-gradient(circle at 37% 28%, #ffffffe8, transparent 35%), radial-gradient(ellipse at 26% 68%, #33c5b62e, transparent 57%), radial-gradient(ellipse at 76% 38%, #ee6b4733, transparent 62%), radial-gradient(circle, #fcf6dfb8, #f4efda70 65%, transparent 72%);
  box-shadow: inset -3px -3px 12px #e8dca13d, inset 3px 5px 14px #ffffffc4;
}
.eoa__orb canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.eoa__reflection { position: absolute; z-index: -1; inset: 84% 20% 7%; border-radius: 50%; background: linear-gradient(90deg,#33c5b64b,#eccd8f66,#ee6b4750); filter: blur(5px); }
.eoa__launcher-label {
  position: absolute; right: 74px; display: block; width: max-content;
  border: 1px solid rgb(223 229 231 / 0.9); border-radius: 999px;
  background: rgb(255 255 255 / 0.95); padding: 8px 12px;
  color: var(--eoa-ink); font-size: 12px; font-weight: 750; letter-spacing: -0.01em;
  box-shadow: 0 10px 25px rgb(23 32 51 / 0.12); transition: transform 160ms ease, opacity 160ms ease;
}
.eoa__launcher:hover .eoa__launcher-label { transform: translateX(-2px); }
.eoa__launcher:hover .eoa__glow, .eoa[data-state="thinking"] .eoa__glow { filter: blur(6px) saturate(1.22); opacity: 1; }
.eoa__launcher:focus-visible, .eoa button:focus-visible, .eoa textarea:focus-visible, .eoa a:focus-visible { outline: 3px solid rgb(20 138 125 / 0.38); outline-offset: 3px; }
.eoa--hero-visible > .eoa__launcher { pointer-events: none; opacity: 0; transform: translateY(8px) scale(.94); }

.eoa__panel {
  position: absolute; right: 0; bottom: 106px;
  display: flex; width: min(394px, calc(100vw - 28px));
  max-height: min(650px, calc(100dvh - 132px)); flex-direction: column;
  overflow: hidden; border: 1px solid var(--eoa-line); border-radius: 24px;
  background: #fff; box-shadow: 0 30px 80px -22px rgb(23 32 51 / 0.38);
  animation: eoa-in 220ms cubic-bezier(.2,.75,.2,1);
}
@keyframes eoa-in { from { opacity: 0; transform: translateY(10px) scale(.985); } }

.eoa__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--eoa-line); padding: 15px 16px; background: linear-gradient(135deg, #edf9f7, #fff 62%, #fff4ef); }
.eoa__brand { margin: 0; color: var(--eoa-teal); font-size: 10px; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.eoa__brand span { color: var(--eoa-teal); font-size: 23px; letter-spacing: -0.055em; text-transform: lowercase; }
.eoa[data-product="fm"] .eoa__brand { color: var(--color-accent-dark, #d4542f); }
.eoa__strap { margin: 1px 0 0; color: var(--eoa-body); font-size: 11px; }
.eoa__icon-button { display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 12px; background: transparent; color: var(--eoa-body); cursor: pointer; }
.eoa__icon-button:hover { background: rgb(23 32 51 / 0.06); color: var(--eoa-ink); }
.eoa__icon-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.9; }

.eoa__text-pane { display: flex; min-height: 0; flex: 1; flex-direction: column; }
.eoa__log { display: flex; min-height: 76px; max-height: min(340px, calc(100dvh - 330px)); flex: 0 1 auto; flex-direction: column; gap: 9px; overflow-y: auto; padding: 14px; background: #fafbfb; overscroll-behavior: contain; }
.eoa__message { max-width: 89%; margin: 0; border: 1px solid var(--eoa-line); border-radius: 16px; background: #fff; padding: 10px 12px; color: var(--eoa-body); font-size: 13px; line-height: 1.48; white-space: pre-wrap; overflow-wrap: anywhere; box-shadow: 0 4px 14px rgb(23 32 51 / 0.04); }
.eoa__message--user { align-self: flex-end; border-color: rgb(20 138 125 / 0.16); border-bottom-right-radius: 5px; background: #eaf7f5; color: var(--eoa-ink); }
.eoa__message--assistant { align-self: flex-start; border-bottom-left-radius: 5px; }
.eoa__message--system { align-self: center; max-width: 100%; border: 0; background: transparent; padding: 2px 8px; color: #727e8e; font-size: 11px; text-align: center; box-shadow: none; }
.eoa__typing { display: inline-flex; align-self: flex-start; gap: 4px; border: 1px solid var(--eoa-line); border-radius: 14px; background: #fff; padding: 12px 14px; }
.eoa__typing i { width: 5px; height: 5px; border-radius: 50%; background: var(--eoa-teal); animation: eoa-dot 900ms ease-in-out infinite; }
.eoa__typing i:nth-child(2) { animation-delay: 130ms; } .eoa__typing i:nth-child(3) { animation-delay: 260ms; }
@keyframes eoa-dot { 0%, 70%, 100% { transform: translateY(0); opacity: .35; } 35% { transform: translateY(-3px); opacity: 1; } }

.eoa__context-action { border-top: 1px solid var(--eoa-line); background: #fff; padding: 10px 12px 8px; }
.eoa__context-action a { display: flex; min-height: 46px; align-items: center; justify-content: center; border-radius: 13px; background: linear-gradient(135deg, var(--eoa-teal), var(--eoa-teal-dark)); padding: 10px 14px; color: #fff; font-size: 13px; font-weight: 780; text-align: center; text-decoration: none; }
.eoa__context-action a:hover { box-shadow: 0 7px 18px rgb(23 107 99 / .18); transform: translateY(-1px); }
.eoa__context-action p { margin: 5px 2px 0; color: #747f8e; font-size: 10px; line-height: 1.35; text-align: center; }

.eoa__voice { border-top: 1px solid var(--eoa-line); background: linear-gradient(135deg, #f3fbf9, #fff 62%, #fff7f3); padding: 11px 12px; }
.eoa__voice-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.eoa__voice-kicker { margin: 0; color: var(--eoa-teal-dark); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.eoa__voice h3 { margin: 1px 0 0; color: var(--eoa-ink); font-size: 14px; line-height: 1.2; }
.eoa__voice-mode { border-radius: 999px; background: #e8f5f2; padding: 4px 7px; color: var(--eoa-teal-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.eoa__voice-disclosure { margin: 7px 0 0; color: var(--eoa-body); font-size: 10px; line-height: 1.4; }
.eoa__voice-status { min-height: 1.35em; margin: 6px 0 0; color: #667282; font-size: 10px; line-height: 1.35; }
.eoa__voice-controls { display: flex; gap: 7px; margin-top: 8px; }
.eoa__voice-controls button { min-height: 44px; flex: 1; border: 1px solid rgb(20 138 125 / .28); border-radius: 12px; background: #fff; color: var(--eoa-teal-dark); cursor: pointer; font-size: 12px; font-weight: 760; }
.eoa__voice-controls [data-eoa-voice-start] { border-color: transparent; background: linear-gradient(135deg, var(--eoa-teal), var(--eoa-teal-dark)); color: #fff; }
.eoa__voice-controls [data-eoa-voice-stop] { border-color: rgb(212 84 47 / .28); color: #a74226; }

.eoa__form { display: flex; gap: 7px; align-items: flex-end; border-top: 1px solid var(--eoa-line); padding: 10px 12px 7px; background: #fff; }
.eoa__form textarea { min-height: 48px; max-height: 104px; flex: 1; resize: none; border: 1px solid var(--eoa-line); border-radius: 13px; background: #fff; padding: 12px; color: var(--eoa-ink); font-size: 13px; line-height: 1.45; }
.eoa__form textarea::placeholder { color: #8a94a2; }
.eoa__form button { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border: 0; border-radius: 13px; background: var(--eoa-teal); color: #fff; cursor: pointer; }
.eoa__form button:hover { background: var(--eoa-teal-dark); }
.eoa__form button:disabled, .eoa__form textarea:disabled { cursor: not-allowed; opacity: .52; }
.eoa__form svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linejoin: round; stroke-width: 1.8; }
.eoa__request-bar { display: flex; min-height: 32px; align-items: center; justify-content: space-between; gap: 12px; background: #f6f8f8; padding: 5px 13px; color: var(--eoa-body); font-size: 10.5px; }
.eoa__request-bar button { min-height: 26px; border: 0; background: transparent; color: var(--eoa-teal-dark); cursor: pointer; font-size: 10.5px; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.eoa__privacy { margin: 0; background: #fff; padding: 0 13px 11px; color: #7a8491; font-size: 10px; line-height: 1.4; }
.eoa__privacy summary { width: max-content; cursor: pointer; font-weight: 720; text-decoration: underline; text-decoration-color: rgb(83 97 116 / .35); text-underline-offset: 2px; }
.eoa__privacy p { margin: 5px 0 0; }
.eoa__retry { display: inline-flex; align-self: flex-start; min-height: 34px; align-items: center; border: 1px solid rgb(20 138 125 / .3); border-radius: 999px; background: #eff9f7; padding: 6px 11px; color: var(--eoa-teal-dark); cursor: pointer; font-size: 11px; font-weight: 750; }

.eoa__sr-only { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; clip-path: inset(50%) !important; }

.eoa-hero { display: grid; min-height: 430px; place-items: center; text-align: center; }
.eoa-hero__button { position: relative; isolation: isolate; display: grid; width: min(360px, 78vw); min-height: min(360px, 78vw); place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.eoa-hero__button::before { content: ""; position: absolute; inset: 12%; z-index: -1; border-radius: 50%; box-shadow: 0 28px 45px rgb(23 107 99 / .19); pointer-events: none; }
.eoa__orb--hero { position: absolute; inset: 0; }
/* The hero canvas repaints ~30×/s. Keeping it and the blurred glow on their own
   compositor layers stops the blur from being re-rasterized every frame. */
.eoa__orb--hero canvas, .eoa__orb--hero .eoa__glow { will-change: transform; transform: translateZ(0); }
.eoa__orb--hero .eoa__glow { filter: blur(20px); }
.eoa__orb--hero .eoa__core { inset: 12%; }
.eoa-hero__button:hover .eoa__glow { filter: blur(17px) saturate(1.2); }
.eoa-hero__label { position: absolute; bottom: -2%; z-index: 3; border: 1px solid rgb(255 255 255 / .82); border-radius: 999px; background: rgb(255 255 255 / .95); padding: 9px 15px; color: var(--eoa-ink); font-size: 13px; font-weight: 800; box-shadow: 0 12px 30px rgb(23 32 51 / .11); }
.eoa-hero__note { max-width: 30rem; margin: 14px auto 0; color: var(--eoa-body); font-size: 13px; line-height: 1.55; }

@media (max-width: 520px) {
  .eoa { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); }
  .eoa__launcher { width: 76px; min-width: 76px; min-height: 76px; }
  .eoa__launcher-label { display: none; }
  .eoa__panel { position: fixed; right: max(12px, env(safe-area-inset-right)); bottom: max(100px, calc(88px + env(safe-area-inset-bottom))); left: max(12px, env(safe-area-inset-left)); width: auto; max-height: calc(100dvh - 112px); border-radius: 20px; }
  .eoa__log { min-height: 76px; max-height: min(320px, calc(100dvh - 300px)); }
  .eoa-hero { min-height: 330px; }
  .eoa-hero__button { width: min(300px, 82vw); min-height: min(300px, 82vw); }
}

@media (prefers-reduced-motion: reduce) {
  .eoa__panel, .eoa__typing i { animation: none !important; }
  .eoa__launcher, .eoa__launcher-label, .eoa__glow, .eoa__context-action a { transition: none !important; }
}

/* ==========================================================================
   Spatial workspace (revision 7). The large Orb starts centred; Voice/Message
   pills appear only after activation; choosing one moves the Orb left and opens
   the compact glass workspace beside it. The scene keeps one fixed height in
   every state so nothing below it moves. Static gradients, borders and one
   small shadow only: no backdrop filter, no animated blur.
   ========================================================================== */
.eoa-scene {
  --eoa-teal: #148a7d; --eoa-teal-dark: #176b63; --eoa-coral: #eb693a; --eoa-gold: #bea369;
  --eoa-ink: #253d35; --eoa-body: #526b63; --eoa-line: #c6d8d1; --eoa-accent: #d4542f;
  position: relative; height: 490px; min-height: 490px; margin: 0; padding: 0; isolation: isolate; text-align: left;
  color: var(--eoa-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
[data-eoa-hero-for="pm"] .eoa-scene { --eoa-accent: #33887e; }
.eoa-hero--scene { display: block; min-height: 0; place-items: initial; text-align: left; }
.eoa-scene * , .eoa-scene *::before, .eoa-scene *::after { box-sizing: border-box; }
.eoa-scene [hidden] { display: none !important; }
.eoa-scene button, .eoa-scene textarea, .eoa-scene a, .eoa-scene input { font: inherit; }
.eoa-scene__entry { position: absolute; top: 22px; left: 0; right: 0; text-align: center; }
.eoa-scene__eyebrow { margin: 0; color: #637d6b; font-size: 11px; font-weight: 600; letter-spacing: 1.6px; }
.eoa-scene__heading { margin: 8px 0 0; color: var(--eoa-ink); font-size: 35px; font-weight: 600; letter-spacing: -1px; line-height: 1.1; }
.eoa-scene__lead { margin: 11px 0 0; color: var(--eoa-body); font-size: 13px; }
.eoa-scene__orb { position: absolute; left: 50%; top: 88px; width: 350px; max-width: 65%; transform: translateX(-50%); z-index: 2; text-align: center;
  transition: left .58s cubic-bezier(.22,1,.36,1), transform .58s cubic-bezier(.22,1,.36,1), width .58s cubic-bezier(.22,1,.36,1); }
.eoa-scene__stage { width: 100%; max-width: 350px; margin: 0 auto; }
.eoa-scene__stage .eoa-hero__button { width: 100%; min-height: 0; aspect-ratio: 1 / 1; margin: 0; }
.eoa-scene__stage .eoa-hero__button::before { inset: 12%; }
.eoa-scene__choices { display: flex; justify-content: center; gap: 10px; margin: -23px 0 0; min-height: 58px; align-items: center; }
.eoa-scene__choice { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 18px; border: 1px solid #c6d8d1; border-radius: 999px;
  background: #ffffffee; color: var(--eoa-teal-dark); font-size: 13px; font-weight: 600; cursor: pointer; box-shadow: 0 8px 22px -14px #234d3d66; }
.eoa-scene__choice:hover { background: #f5faf7; border-color: #a5c2b1; }
.eoa-scene__choice svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.eoa-scene__hint { margin: 6px 0 0; color: #65867f; font-size: 11px; }
.eoa-scene__status { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 4px 0 0; color: #65867f; font-size: 11px; }
.eoa-scene__dot { width: 6px; height: 6px; border-radius: 50%; background: #2aa195; }
.eoa-scene[data-eoa-scene="choice"] .eoa-scene__status { display: none; }
.eoa-scene:not([data-eoa-scene="choice"]) .eoa-scene__orb { left: 0; top: 88px; width: 31%; max-width: 350px; transform: none; }
.eoa-scene:not([data-eoa-scene="choice"]):not([data-eoa-choices="open"]) .eoa-scene__choices, .eoa-scene:not([data-eoa-scene="choice"]) .eoa-scene__hint { display: none; }
/* MO-01: while the workspace is open the Orb can offer the choices again (mode switch). */
.eoa-scene:not([data-eoa-scene="choice"])[data-eoa-choices="open"] .eoa-scene__choices { position: relative; z-index: 2; }
.eoa-scene:not([data-eoa-scene="choice"])::after { content: ""; position: absolute; left: 29%; width: 6%; height: 1px; top: 47%; background: linear-gradient(90deg, transparent, #a4c3ba); pointer-events: none; }
.eoa-scene__workspace { position: absolute; left: 35%; right: 5%; top: 72px; height: 356px; z-index: 3; }
.eoa-scene__workspace:empty { pointer-events: none; }

/* The shared panel, when it lives in the scene: the glass finish and compact type. */
.eoa-scene .eoa__panel { position: relative; inset: auto; right: auto; bottom: auto; width: 100%; height: 100%; max-height: none; display: flex; flex-direction: column;
  border: 1px solid var(--eoa-line); border-radius: 5px 19px 5px 19px; overflow: hidden;
  background: linear-gradient(128deg, #edf4efb8, #ffffffed 45%, #f6f1e8d9);
  box-shadow: inset 0 1px 0 #fff, inset 0 0 0 5px #ffffff5c, 0 15px 40px -24px #234d3d3b; animation: eoa-glass-in .42s .12s both cubic-bezier(.22,1,.36,1); }
.eoa-scene .eoa__panel::before { content: ""; position: absolute; left: 0; top: 0; width: 72px; height: 2px; background: #509d91; pointer-events: none; }
@keyframes eoa-glass-in { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: none; } }
.eoa-scene .eoa__header { min-height: 50px; flex: 0 0 auto; padding: 11px 21px 10px; gap: 12px; background: transparent; border-bottom: 1px solid #bfd2c555; }
.eoa-scene .eoa__brand { display: flex; align-items: baseline; gap: 8px; color: var(--eoa-teal); font-size: 8px; letter-spacing: .07em; }
.eoa-scene .eoa__brand span { font-size: 23px; letter-spacing: -1.5px; }
.eoa-scene .eoa[data-product="fm"] .eoa__brand, .eoa-scene [data-product="fm"] .eoa__brand { color: var(--eoa-accent); }
.eoa-scene .eoa__strap { display: none; }
.eoa-scene .eoa__icon-button { width: 32px; height: 32px; color: #5b786d; }
.eoa-scene .eoa__text-pane { min-height: 0; flex: 1; }
.eoa-scene .eoa__log { flex: 1; max-height: none; min-height: 0; padding: 18px 22px 14px; background: transparent; gap: 0; scrollbar-width: thin; scrollbar-color: #b4c9bc transparent; }
.eoa-scene .eoa__form { flex: 0 0 auto; margin: 0 20px; padding: 5px 0 0; border-top: 1px solid #bfd2c58c; background: #ffffff50; align-items: center; gap: 10px; }
.eoa-scene .eoa__form textarea { min-height: 38px; padding: 9px 0; border: 0; background: transparent; font-size: 13px; line-height: 1.45; color: #345e50; }
.eoa-scene .eoa__form textarea:focus-visible { outline: 0; }
.eoa-scene .eoa__form:focus-within { border-top-color: #4d8f7f; box-shadow: 0 -1px 0 #4d8f7f; }
.eoa-scene .eoa__form button { width: 34px; height: 34px; flex-basis: 34px; border-radius: 50%; background: #397e6e; }
.eoa-scene .eoa__request-bar { background: transparent; padding: 2px 22px; }
.eoa-scene .eoa__privacy { padding: 0 21px 10px; font-size: 10px; }
.eoa-scene .eoa__privacy p { max-height: 65px; overflow: auto; font-size: 11px; }
.eoa-scene .eoa__status { position: absolute; }

/* Conversation presentation everywhere: current answer, its prompt, one card; earlier turns behind a disclosure. */
.eoa__message--current { max-width: 100%; margin: 0 0 14px; border: 0; padding: 0; background: transparent; box-shadow: none; color: #35574d; font-size: 14px; line-height: 1.6; }
.eoa__message--current.eoa__message--first { font-size: 25px; letter-spacing: -.5px; margin-top: 15px; }
.eoa__message--prompt { max-width: 100%; align-self: stretch; margin: 0 0 12px; border: 0; border-bottom: 1px solid #bfd2c555; border-radius: 0; padding: 0 0 10px; background: transparent; box-shadow: none; color: #6b8077; font-size: 10px; line-height: 1.6; }
.eoa__message--prompt::before { content: "You · "; }
.eoa__history { margin: 4px 0 0; color: #6b8176; font-size: 10px; }
.eoa__history summary { cursor: pointer; min-height: 26px; }
.eoa__history[open] { border-bottom: 1px solid #c9d7cf; padding-bottom: 10px; }
.eoa__history .eoa__message { max-width: 100%; margin: 9px 0; border: 0; border-left: 1px solid #bfd4c8; border-radius: 0; padding: 0 0 0 12px; background: transparent; box-shadow: none; font-size: 11px; line-height: 1.5; color: #5d7567; }
.eoa__history .eoa__message--user::before { content: "You: "; font-weight: 600; }
.eoa__history .eoa__message--assistant::before { content: "Enso: "; font-weight: 600; }
.eoa__context-action { border: 0; border-top: 1px solid #bed2c8; padding: 12px 0 0; margin: 0 0 8px; background: transparent; }
.eoa__card-eyebrow { display: block; margin: 0 0 10px; color: #65877c; font-size: 9px; font-weight: 700; letter-spacing: 1.5px; }
.eoa__plan-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.eoa__plan-head h3 { margin: 0; color: #315848; font-size: 21px; font-weight: 600; letter-spacing: -.6px; }
.eoa__plan-price { color: #315848; font-size: 23px; font-weight: 600; }
.eoa__plan-price small { color: #6b8275; font-size: 10px; font-weight: 500; }
.eoa__card-note { margin: 9px 0 11px; color: #627b6d; font-size: 11px; line-height: 1.6; }
.eoa__card-small { margin: 8px 0 0; color: #627b6d; font-size: 10px; line-height: 1.55; }
.eoa__card-actions { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
.eoa__primary { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; padding: 9px 14px; border: 0; border-radius: 6px;
  background: #397e68; color: #fff; font-size: 11px; font-weight: 600; text-decoration: none; cursor: pointer; box-shadow: 0 3px 8px -5px #214b3870; }
.eoa__primary:hover { background: #2e6d59; }
.eoa__primary:disabled { opacity: .5; cursor: default; }
.eoa__text-link { display: inline-flex; align-items: center; min-height: 34px; padding: 0; border: 0; background: transparent; color: #476c5b; font-size: 10px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.eoa__checkout { position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; overflow: auto; overscroll-behavior: contain; padding: 15px 22px 20px; background: inherit; border-radius: inherit; }
.eoa__panel--checkout .eoa__text-pane > :not(.eoa__checkout) { visibility: hidden; }
.eoa__checkout h3 { margin: 13px 0 12px; color: #315848; font-size: 23px; font-weight: 600; letter-spacing: -.5px; }
.eoa__order { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #c9d8ce; border-radius: 5px; background: #fff7; padding: 13px; margin-bottom: 10px; }
.eoa__order strong { font-size: 13px; color: #315848; }
.eoa__order > strong { font-size: 19px; }
.eoa__order > strong small { font-size: 10px; color: #6b8275; font-weight: 500; }
.eoa__order span { display: block; font-size: 10px; color: #627b6d; margin-top: 2px; }
.eoa__agreement { display: flex; gap: 10px; align-items: flex-start; margin: 12px 0 6px; font-size: 10px; line-height: 1.5; color: #35574d; }
.eoa__agreement input { margin-top: 2px; width: 16px; height: 16px; flex: 0 0 16px; }
.eoa__checkout-note { margin: 10px 0 0; color: #627b6d; font-size: 10px; line-height: 1.55; min-height: 1.2em; }
.eoa__checkout-mount { margin-top: 12px; }
.eoa__checkout .eoa__primary { margin-top: 12px; align-self: flex-start; font-size: 12px; min-height: 43px; }

/* Voice region inside the workspace, revision 7 sizes; the bridge owns its state. */
.eoa-scene .eoa__voice { flex: 0 0 auto; padding: 10px 22px 16px; border-top: 1px solid #bfd2c555; background: transparent; }
.eoa-scene .eoa__voice-kicker { display: none; }
.eoa-scene .eoa__voice h3 { font-size: 14px; color: #315848; }
.eoa-scene .eoa__voice-mode { display: none; }
.eoa-scene .eoa__voice-disclosure { font-size: 11px; color: #647c70; }
.eoa-scene .eoa__voice-status { font-size: 11px; }
.eoa-scene .eoa__voice-controls { gap: 8px; margin-top: 10px; }
.eoa-scene .eoa__voice-controls button { flex: 0 1 auto; min-height: 42px; padding: 9px 15px; border-radius: 6px; font-size: 12px; background: #ffffff80; border: 1px solid #bed4c7; }
.eoa-scene .eoa__voice-controls [data-eoa-voice-start] { background: #397e68; border-color: #397e68; color: #fff; }
.eoa-scene .eoa__voice-controls [data-eoa-voice-switch] { border: 0; background: transparent; text-decoration: underline; text-underline-offset: 3px; color: #476c5b; font-size: 10px; }

@media (max-width: 800px) {
  .eoa-scene { height: 478px; min-height: 478px; }
  .eoa-scene__entry { top: 30px; }
  .eoa-scene__heading { font-size: 30px; }
  .eoa-scene__orb { top: 112px; width: 290px; max-width: 70%; }
  .eoa-scene:not([data-eoa-scene="choice"]) .eoa-scene__orb { top: 135px; width: 27%; max-width: 175px; }
  .eoa-scene:not([data-eoa-scene="choice"]) .eoa-scene__status { font-size: 9px; white-space: normal; }
  .eoa-scene:not([data-eoa-scene="choice"])::after { left: 24%; width: 5%; }
  .eoa-scene__workspace { left: 29%; right: 3%; top: 46px; height: 387px; }
  .eoa-scene .eoa__header { padding: 10px 15px; min-height: 48px; }
  .eoa-scene .eoa__brand span { font-size: 22px; }
  .eoa-scene .eoa__log { padding: 16px 15px 12px; }
  .eoa__message--current { font-size: 13px; }
  .eoa__message--current.eoa__message--first { font-size: 23px; }
  .eoa-scene .eoa__form { margin: 0 14px; }
  .eoa-scene .eoa__form textarea { font-size: 16px; min-height: 40px; }
  .eoa__plan-head h3 { font-size: 20px; } .eoa__plan-price { font-size: 22px; }
  .eoa__checkout { padding: 15px; } .eoa__checkout h3 { font-size: 21px; }
  .eoa-scene .eoa__voice { padding: 10px 15px 14px; }
  .eoa-scene .eoa__voice-controls button { min-height: 44px; }
}
@media (max-width: 460px) {
  .eoa-scene__orb.eoa-scene__orb { max-width: 70%; }
  .eoa-scene:not([data-eoa-scene="choice"]) .eoa-scene__orb { width: 64px; max-width: 64px; top: 185px; }
  .eoa-scene:not([data-eoa-scene="choice"]) .eoa-scene__status { display: none; }
  .eoa-scene:not([data-eoa-scene="choice"])::after { left: 59px; width: 13px; top: 219px; }
  .eoa-scene__workspace { left: 72px; height: 389px; }
  .eoa-scene .eoa__log { padding: 14px 13px 10px; }
  .eoa__message--current { font-size: 12.5px; }
  .eoa__message--current.eoa__message--first { font-size: 22px; }
  .eoa__plan-head h3 { font-size: 19px; } .eoa__plan-price { font-size: 21px; }
  .eoa-scene .eoa__header { padding: 9px 13px; }
  .eoa__checkout { padding: 14px 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .eoa-scene__orb, .eoa-scene .eoa__panel { transition: none !important; animation: none !important; }
}
