:root {
  --fs-bg: #f6f4ee;
  --fs-bg-soft: #f9f8f4;
  --fs-ink: #101827;
  --fs-ink-soft: #30394a;
  --fs-muted: #717988;
  --fs-muted-light: #9aa3ae;
  --fs-teal: #18bfa8;
  --fs-teal-deep: #0e8178;
  --fs-teal-soft: #ddf8f2;
  --fs-teal-line: rgba(24, 191, 168, 0.18);
  --fs-gold: #c8b58a;
  --fs-gold-soft: rgba(200, 181, 138, 0.24);
  --fs-blue-light: #88c8ff;
  --fs-surface: rgba(255, 255, 255, 0.68);
  --fs-surface-strong: rgba(255, 255, 255, 0.86);
  --fs-surface-muted: rgba(255, 255, 255, 0.46);
  --fs-border: rgba(14, 129, 120, 0.14);
  --fs-border-strong: rgba(14, 129, 120, 0.24);
  --fs-shadow-soft: 0 24px 80px rgba(16, 24, 39, 0.08);
  --fs-shadow-card: 0 18px 56px rgba(16, 24, 39, 0.1);
  --fs-shadow-orb: 0 38px 120px rgba(24, 191, 168, 0.2);
  --fs-focus: 0 0 0 4px rgba(24, 191, 168, 0.18);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  color-scheme: light;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--fs-bg);
  scroll-behavior: smooth;
}

body {
  min-height: 100%;
  margin: 0;
  color: var(--fs-ink);
  background:
    radial-gradient(circle at 17% 18%, rgba(136, 200, 255, 0.2), transparent 28rem),
    radial-gradient(circle at 86% 12%, rgba(24, 191, 168, 0.12), transparent 26rem),
    radial-gradient(circle at 63% 90%, rgba(200, 181, 138, 0.16), transparent 24rem),
    linear-gradient(135deg, #f7f5ef 0%, #fbfaf6 46%, #eef8f5 100%);
  font-family: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body.motion-reduced {
  scroll-behavior: auto;
}

button,
input,
textarea,
select {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button {
  cursor: pointer;
}

button:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

a {
  color: inherit;
  text-decoration: none;
}

svg {
  display: block;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}

:focus-visible {
  outline: 0;
  box-shadow: var(--fs-focus);
}

.fs-background {
  position: fixed;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: -1;
}

.fs-background::before,
.fs-background::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(14, 129, 120, 0.08);
  border-radius: 50%;
  transform: rotate(-14deg);
}

.fs-background::before {
  width: 62rem;
  height: 24rem;
  left: -14rem;
  top: 8rem;
}

.fs-background::after {
  width: 48rem;
  height: 20rem;
  right: -16rem;
  bottom: 4rem;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  width: min(100% - 32px, 1480px);
  min-height: 76px;
  margin: 0 auto;
  padding: max(10px, env(safe-area-inset-top)) 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.site-header::before {
  content: "";
  position: absolute;
  inset: 8px -12px 0;
  z-index: -1;
  background: rgba(249, 248, 244, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
  box-shadow: 0 16px 48px rgba(16, 24, 39, 0.06);
}

.brand {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
}

.brand img {
  width: clamp(156px, 17vw, 224px);
  height: auto;
  display: block;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--fs-ink-soft);
  font-size: 14px;
  font-weight: 500;
}

.site-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0 15px;
}

.site-nav a:hover {
  color: var(--fs-teal-deep);
  background: rgba(255, 255, 255, 0.68);
}

.site-nav .nav-cta {
  color: #fff;
  background: linear-gradient(135deg, var(--fs-teal), var(--fs-teal-deep));
  box-shadow: 0 14px 34px rgba(24, 191, 168, 0.22), inset 0 1px 0 rgba(255,255,255,0.26);
}

.site-nav .nav-cta:hover {
  color: #fff;
  background: linear-gradient(135deg, #22ceb8, #0d8a80);
}

.menu-button {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  flex-direction: column;
  border: 1px solid var(--fs-border);
  border-radius: 50%;
  background: var(--fs-surface-strong);
  color: var(--fs-ink);
}

.menu-button span {
  width: 16px;
  height: 1.5px;
  background: currentColor;
  border-radius: 999px;
}

.site-menu {
  position: fixed;
  top: calc(72px + env(safe-area-inset-top));
  right: 18px;
  z-index: 50;
  width: min(280px, calc(100vw - 36px));
  padding: 10px;
  display: grid;
  gap: 6px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 18px;
  box-shadow: var(--fs-shadow-card);
  backdrop-filter: blur(26px) saturate(145%);
  -webkit-backdrop-filter: blur(26px) saturate(145%);
  transform: translateY(-10px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}

.site-menu.open {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.site-menu a {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 12px;
  color: var(--fs-ink-soft);
}

.site-menu a:hover {
  background: rgba(24, 191, 168, 0.08);
  color: var(--fs-teal-deep);
}

.pwa-install-hint {
  position: fixed;
  left: 14px;
  right: 14px;
  bottom: calc(80px + var(--safe-bottom));
  z-index: 70;
  display: none;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--fs-border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--fs-shadow-card);
  backdrop-filter: blur(20px) saturate(145%);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  color: var(--fs-ink-soft);
  font-size: 13px;
}

.pwa-install-hint.is-visible {
  display: flex;
}

.pwa-install-hint__text {
  flex: 1;
}

.pwa-install-hint__text strong {
  display: block;
  color: var(--fs-ink);
}

.pwa-install-hint button {
  min-height: 36px;
  border: 1px solid var(--fs-border);
  border-radius: 999px;
  background: var(--fs-surface-strong);
  color: var(--fs-teal-deep);
}

.pwa-install-hint__action {
  padding: 0 12px;
}

.pwa-install-hint__close {
  width: 36px;
}

.page-shell {
  width: min(100% - 32px, 1480px);
  min-height: calc(100dvh - 92px);
  margin: 0 auto;
  padding: 28px 0 36px;
}

.advisor-hero {
  display: grid;
  grid-template-columns: minmax(360px, 0.42fr) minmax(560px, 0.58fr);
  gap: clamp(28px, 4vw, 72px);
  align-items: center;
}

.orb-column {
  min-height: 680px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 20px;
  position: relative;
}

.orb-column::before {
  content: "";
  position: absolute;
  width: min(520px, 86vw);
  height: min(520px, 86vw);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255,255,255,0.76), transparent 22%),
    radial-gradient(circle at 48% 52%, rgba(24, 191, 168, 0.2), transparent 44%),
    radial-gradient(circle at 60% 44%, rgba(200, 181, 138, 0.14), transparent 62%);
  filter: blur(28px);
  opacity: 0.82;
  z-index: -1;
}

.orb-wrap {
  width: clamp(320px, 35vw, 520px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  transform: translate3d(var(--orb-x, 0), var(--orb-y, 0), 0);
  transition: transform .45s ease;
}

.intelligence-orb {
  --state-teal: rgba(24, 191, 168, 0.56);
  --state-gold: rgba(200, 181, 138, 0.45);
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  filter: drop-shadow(var(--fs-shadow-orb));
  opacity: 0;
  transform: translateY(12px) scale(.96);
  animation: orbWake 1.4s ease forwards, heroFloat 13s ease-in-out 1.4s infinite;
}

.orb-glow {
  position: absolute;
  inset: 7%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.9) 0 10%, rgba(24, 191, 168, 0.24) 22%, transparent 58%),
    radial-gradient(circle at 42% 36%, rgba(136, 200, 255, 0.22), transparent 38%);
  filter: blur(20px);
  animation: orbPulse 10s ease-in-out infinite;
}

.orb-core {
  position: relative;
  width: 47%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.75);
  background:
    radial-gradient(circle at 35% 26%, rgba(255,255,255,0.94), rgba(255,255,255,0.42) 20%, transparent 44%),
    radial-gradient(circle at 54% 58%, rgba(24,191,168,0.35), transparent 44%),
    radial-gradient(circle at 72% 30%, rgba(200,181,138,0.26), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,0.74), rgba(221,248,242,0.38));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    inset 22px 18px 48px rgba(255,255,255,0.5),
    inset -18px -18px 48px rgba(14,129,120,0.16),
    0 30px 88px rgba(24,191,168,0.22);
  animation: coreBreath 9s ease-in-out infinite;
}

.orb-core::after {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.86), rgba(24,191,168,0.2) 42%, transparent 70%);
  filter: blur(8px);
}

.orb-mist {
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  opacity: 0.6;
}

.mist-a {
  background: conic-gradient(from 90deg, transparent, rgba(255,255,255,0.68), transparent, rgba(24,191,168,0.22), transparent);
  filter: blur(10px);
  animation: orbitFloat 28s linear infinite;
}

.mist-b {
  inset: 22%;
  background: linear-gradient(120deg, transparent 10%, rgba(255,255,255,0.62), transparent 70%);
  filter: blur(5px);
  animation: pearlSweep 18s ease-in-out infinite;
}

.orb-highlight {
  position: absolute;
  width: 26%;
  height: 5%;
  left: 17%;
  top: 23%;
  border-radius: 999px;
  background: rgba(255,255,255,0.78);
  transform: rotate(-28deg);
  filter: blur(1px);
}

.orb-shield,
.orb-lattice {
  position: absolute;
  inset: 5%;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}

.orb-shield {
  border: 1px solid rgba(136, 200, 255, 0.48);
  box-shadow: 0 0 34px rgba(136, 200, 255, 0.18);
}

.orb-lattice {
  background:
    linear-gradient(35deg, transparent 0 46%, rgba(24,191,168,0.22) 47% 48%, transparent 49%),
    linear-gradient(135deg, transparent 0 50%, rgba(136,200,255,0.18) 51% 52%, transparent 53%),
    radial-gradient(circle at 32% 34%, rgba(255,255,255,0.82) 0 2px, transparent 3px),
    radial-gradient(circle at 67% 43%, rgba(255,255,255,0.76) 0 2px, transparent 3px),
    radial-gradient(circle at 51% 70%, rgba(24,191,168,0.62) 0 2px, transparent 3px);
  filter: blur(.2px);
}

.orb-orbits {
  position: absolute;
  inset: 0;
  overflow: visible;
}

.orbit {
  fill: none;
  stroke-width: 1.1;
  stroke: rgba(14, 129, 120, 0.22);
  transform-origin: 210px 210px;
  vector-effect: non-scaling-stroke;
}

.orbit-a {
  transform: rotate(-18deg);
  animation: orbitDriftA 28s ease-in-out infinite;
}

.orbit-b {
  stroke: rgba(200, 181, 138, 0.25);
  transform: rotate(28deg);
  animation: orbitDriftB 34s ease-in-out infinite;
}

.orbit-c {
  stroke: rgba(136, 200, 255, 0.18);
  transform: rotate(63deg);
  animation: orbitDriftC 36s ease-in-out infinite;
}

.orbit-d {
  stroke: rgba(255, 255, 255, 0.58);
  transform: rotate(-58deg);
  animation: orbitDriftD 24s ease-in-out infinite;
}

.orb-particles {
  position: absolute;
  inset: 0;
}

.orb-particles i {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 0 14px rgba(24,191,168,0.72);
  animation: particleGlow 7s ease-in-out var(--d) infinite;
}

.voice-wave,
.scan-ring,
.success-ripple {
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}

.voice-wave {
  border: 1px solid rgba(24,191,168,0.28);
}

.voice-wave span {
  position: absolute;
  inset: calc(var(--i, 0) * 8%);
  border-radius: 50%;
  border: 1px solid rgba(24,191,168,0.22);
}

.voice-wave span:nth-child(1) { --i: 1; }
.voice-wave span:nth-child(2) { --i: 2; }
.voice-wave span:nth-child(3) { --i: 3; }

.scan-ring {
  border: 1px solid rgba(200,181,138,0.42);
  background: conic-gradient(from 0deg, transparent, rgba(24,191,168,0.18), transparent 28%);
}

.success-ripple {
  border: 1px solid rgba(255,255,255,0.7);
  transform: scale(.78);
}

.intelligence-orb[data-state="attentive"],
.intelligence-orb[data-state="typing"],
.intelligence-orb[data-state="promptSelected"] {
  --state-teal: rgba(24, 191, 168, 0.72);
}

.intelligence-orb[data-state="thinking"] .orb-lattice,
.intelligence-orb[data-state="answering"] .orb-lattice {
  opacity: .82;
  animation: latticeRise 2.8s ease-in-out infinite;
}

.intelligence-orb[data-state="listening"] .voice-wave,
.intelligence-orb[data-state="speaking"] .voice-wave {
  opacity: 1;
  animation: voiceWave 2.2s ease-in-out infinite;
}

.intelligence-orb[data-state="transcribing"] .orb-particles i,
.intelligence-orb[data-state="thinking"] .orb-particles i,
.intelligence-orb[data-state="answering"] .orb-particles i {
  animation-duration: 4.2s;
}

.intelligence-orb[data-state="uploading"] .scan-ring,
.intelligence-orb[data-state="readingReport"] .scan-ring {
  opacity: 1;
  animation: scanRing 3s linear infinite;
}

.intelligence-orb[data-state="secure"] .orb-shield,
.intelligence-orb[data-state="handoff"] .orb-shield {
  opacity: 1;
  animation: shieldBreath 4s ease-in-out infinite;
}

.intelligence-orb[data-state="success"] .success-ripple {
  opacity: 1;
  animation: successRipple 1.4s ease-out;
}

.intelligence-orb[data-state="error"] .orb-core {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    inset -18px -18px 48px rgba(191, 94, 58, 0.14),
    0 24px 78px rgba(191, 94, 58, 0.18);
}

.intelligence-orb[data-state="error"] .orbit {
  stroke: rgba(191, 94, 58, 0.28);
}

.agent-status-card {
  display: grid;
  justify-items: center;
  gap: 8px;
}

.agent-status-chip {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
  color: var(--fs-ink-soft);
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(255,255,255,0.78);
  border-radius: 999px;
  box-shadow: 0 16px 48px rgba(16,24,39,0.08), inset 0 1px 0 rgba(255,255,255,0.86);
  backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  font-size: 14px;
  font-weight: 600;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--fs-teal);
  box-shadow: 0 0 16px rgba(24,191,168,0.75);
}

#ambient-hint {
  min-height: 21px;
  margin: 0;
  color: var(--fs-muted);
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

.orb-copy {
  max-width: 420px;
  text-align: center;
}

.system-label,
.eyebrow,
.section-head p,
.lead-panel-head p {
  margin: 0 0 8px;
  color: var(--fs-teal-deep);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
}

.orb-copy h2 {
  margin: 0;
  color: var(--fs-ink);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.16;
}

.orb-copy p:last-child {
  margin: 12px 0 0;
  color: var(--fs-ink-soft);
  font-size: 16px;
  line-height: 1.85;
}

.advisor-workspace {
  position: relative;
  padding: clamp(24px, 3vw, 42px);
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 8px;
  background: var(--fs-surface);
  box-shadow: var(--fs-shadow-soft), inset 0 1px 0 rgba(255,255,255,0.9);
  backdrop-filter: blur(28px) saturate(145%);
  -webkit-backdrop-filter: blur(28px) saturate(145%);
}

.advisor-workspace::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,0.62), transparent 40%, rgba(24,191,168,0.07));
}

.workspace-head,
.consultation-console {
  position: relative;
  z-index: 1;
}

.workspace-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}

.workspace-head h1 {
  margin: 0;
  color: var(--fs-ink);
  font-size: clamp(42px, 4.6vw, 74px);
  line-height: 1;
  font-weight: 700;
}

.workspace-head h1 span {
  color: var(--fs-teal-deep);
  font-weight: 500;
}

.advisor-title {
  margin: 12px 0 0;
  color: var(--fs-ink-soft);
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
}

.advisor-title span {
  display: inline-flex;
  margin-left: 8px;
  padding: 2px 8px;
  border: 1px solid var(--fs-border-strong);
  border-radius: 999px;
  color: var(--fs-teal-deep);
  font-size: 12px;
  vertical-align: middle;
}

.workspace-mark {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--fs-teal-deep);
  border: 1px solid var(--fs-border-strong);
  border-radius: 50%;
  background: rgba(255,255,255,0.68);
  font-weight: 700;
}

.value-line {
  position: relative;
  z-index: 1;
  margin: 22px 0 0;
  color: var(--fs-teal-deep);
  font-size: clamp(19px, 2.1vw, 28px);
  line-height: 1.45;
  font-weight: 600;
}

.advisor-note {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 14px 0 0;
  color: var(--fs-ink-soft);
  font-size: 15.5px;
  line-height: 1.85;
}

.consultation-console {
  margin-top: 26px;
}

.advisor-input {
  padding: 14px;
  border: 1px solid var(--fs-border);
  border-radius: 8px;
  background: rgba(255,255,255,0.66);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 16px 44px rgba(16,24,39,0.06);
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.advisor-input:focus-within {
  border-color: rgba(24,191,168,0.45);
  box-shadow: var(--fs-focus), inset 0 1px 0 rgba(255,255,255,0.9);
  background: rgba(255,255,255,0.78);
}

#q {
  width: 100%;
  min-height: 68px;
  max-height: 178px;
  resize: none;
  padding: 8px 6px 14px;
  border: 0;
  outline: 0;
  color: var(--fs-ink);
  background: transparent;
  font-size: 17px;
  line-height: 1.6;
}

#q::placeholder {
  color: #667283;
}

.input-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.right-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.glass-button,
.icon-button,
.send-button,
.auto-tts-toggle,
.voice-panel__actions button,
.boundary-toggle,
.fs-lead-submit,
.fs-lead-close,
.answer-close,
.tts-button,
.handoff-btn,
.feedback-btn,
.motion-toggle {
  min-height: 44px;
  border: 1px solid var(--fs-border);
  border-radius: 999px;
  background: rgba(255,255,255,0.72);
  color: var(--fs-ink-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.glass-button:hover,
.icon-button:hover,
.auto-tts-toggle:hover,
.voice-panel__actions button:hover,
.boundary-toggle:hover,
.handoff-btn:hover,
.feedback-btn:hover {
  transform: translateY(-1px);
  border-color: var(--fs-border-strong);
  background: rgba(255,255,255,0.9);
}

.glass-button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 14px;
  color: var(--fs-teal-deep);
  font-weight: 600;
}

.button-icon {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(24,191,168,0.1);
}

.icon-button {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--fs-teal-deep);
}

.icon-button svg,
.send-button svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.voice-input.listening,
.voice-input.recording {
  color: #fff;
  background: linear-gradient(135deg, var(--fs-teal), var(--fs-teal-deep));
  box-shadow: 0 0 0 6px rgba(24,191,168,0.1), 0 14px 36px rgba(24,191,168,0.22);
}

.send-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, var(--fs-teal), var(--fs-teal-deep));
  box-shadow: 0 16px 38px rgba(24,191,168,0.24), inset 0 1px 0 rgba(255,255,255,0.24);
  font-weight: 700;
}

.send-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 46px rgba(24,191,168,0.3), inset 0 1px 0 rgba(255,255,255,0.3);
}

.send-button:active,
.glass-button:active,
.icon-button:active {
  transform: translateY(1px);
}

.consultation-console[data-state="loading"] .send-button span {
  opacity: .72;
}

.voice-panel {
  margin-top: 12px;
  padding: 12px 14px;
  display: grid;
  gap: 10px;
  border: 1px solid var(--fs-border);
  border-radius: 8px;
  background: rgba(255,255,255,0.46);
}

.voice-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--fs-ink-soft);
  font-size: 14px;
  font-weight: 700;
}

.voice-panel__actions {
  display: flex;
  gap: 8px;
}

.voice-panel__actions button {
  min-height: 36px;
  padding: 0 12px;
  font-size: 13px;
}

#voice-transcript {
  min-height: 24px;
  margin: 0;
  color: var(--fs-muted);
  font-size: 13px;
  line-height: 1.65;
}

.auto-tts-toggle {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  font-size: 13px;
}

.switch-track {
  width: 36px;
  height: 20px;
  padding: 2px;
  border-radius: 999px;
  background: rgba(113,121,136,0.22);
}

.switch-track span {
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(16,24,39,0.18);
  transition: transform .2s ease;
}

.auto-tts-toggle.is-on .switch-track {
  background: rgba(24,191,168,0.52);
}

.auto-tts-toggle.is-on .switch-track span {
  transform: translateX(16px);
}

.prompt-grid {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.topic {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--fs-border);
  border-radius: 999px;
  color: var(--fs-ink-soft);
  background: rgba(255,255,255,0.62);
  font-size: 14px;
  line-height: 1.3;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

.topic:hover,
.topic:focus-visible {
  transform: translateY(-1px);
  color: var(--fs-teal-deep);
  border-color: var(--fs-border-strong);
  background: rgba(221,248,242,0.64);
}

.answer-zone {
  margin-top: 16px;
}

.answer-card {
  position: relative;
  padding: 22px;
  border: 1px solid rgba(255,255,255,0.74);
  border-radius: 8px;
  background: rgba(255,255,255,0.78);
  box-shadow: 0 18px 58px rgba(16,24,39,0.09);
  transform: translateY(10px);
  opacity: 0;
  transition: transform .3s ease, opacity .3s ease;
}

.answer-card.in {
  transform: translateY(0);
  opacity: 1;
}

.answer-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  min-height: 36px;
  padding: 0;
  font-size: 20px;
}

.q-head {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  padding-right: 42px;
}

.badge {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--fs-teal-deep);
  font-weight: 700;
}

.q-text {
  color: var(--fs-ink);
  font-weight: 700;
  line-height: 1.5;
}

.q-meta {
  margin-top: 3px;
  color: var(--fs-muted);
  font-size: 12px;
}

.tts-row {
  margin-top: 14px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.tts-button {
  padding: 0 14px;
  color: var(--fs-teal-deep);
  font-weight: 700;
}

.tts-status {
  color: var(--fs-muted);
  font-size: 13px;
}

.answer-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 18px;
}

.section + .section {
  margin-top: 18px;
}

.label {
  margin-bottom: 8px;
  color: var(--fs-teal-deep);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.section p,
.section li,
.footer-note {
  color: var(--fs-ink-soft);
  line-height: 1.78;
}

.section p {
  margin: 0;
}

.section ol,
.section ul {
  margin: 0;
  padding-left: 1.3em;
}

.section li + li {
  margin-top: 7px;
}

.meta-card {
  padding: 14px;
  border: 1px solid var(--fs-border);
  border-radius: 8px;
  background: rgba(249,248,244,0.72);
}

.source-summary-toggle {
  width: 100%;
  min-height: 36px;
  border: 0;
  background: transparent;
  color: var(--fs-ink-soft);
  text-align: left;
}

.kv {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 0;
  border-top: 1px solid rgba(14,129,120,0.1);
  color: var(--fs-muted);
  font-size: 13px;
}

.v.ok {
  color: var(--fs-teal-deep);
}

.v.warn {
  color: #8d6f2f;
}

.handoff {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid var(--fs-gold-soft);
  border-radius: 8px;
  background: rgba(200,181,138,0.12);
  color: var(--fs-ink-soft);
  line-height: 1.65;
}

.handoff-btn-row,
.feedback-row {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
}

.handoff-btn,
.feedback-btn {
  min-height: 38px;
  padding: 0 13px;
  font-size: 13px;
}

.handoff-btn.primary {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, var(--fs-teal), var(--fs-teal-deep));
}

.feedback-row {
  color: var(--fs-muted);
  font-size: 13px;
}

.footer-note {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(14,129,120,0.1);
  color: var(--fs-muted);
  font-size: 13px;
}

.mobile-official-links {
  display: none;
  margin-top: 12px;
  color: var(--fs-muted);
  font-size: 13px;
}

.console-loading {
  display: grid;
  gap: 11px;
}

.console-loading__text {
  margin: 0;
  color: var(--fs-teal-deep);
  font-weight: 700;
}

.skeleton-line {
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(24,191,168,0.08), rgba(255,255,255,0.72), rgba(24,191,168,0.08));
  background-size: 220% 100%;
  animation: skeleton 2.4s ease-in-out infinite;
}

.skeleton-line.short {
  width: 62%;
}

.capability-section,
.boundary-card {
  margin-top: 24px;
}

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.section-head h2 {
  margin: 0;
  color: var(--fs-ink);
  font-size: clamp(24px, 2.5vw, 34px);
}

.capability-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.capability-card {
  min-height: 154px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.76);
  border-radius: 8px;
  background: rgba(255,255,255,0.62);
  box-shadow: 0 14px 38px rgba(16,24,39,0.06);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.capability-card:hover {
  transform: translateY(-3px);
  border-color: var(--fs-border-strong);
  background: rgba(255,255,255,0.82);
}

.capability-card span {
  color: var(--fs-teal-deep);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
}

.capability-card h3 {
  margin: 22px 0 8px;
  color: var(--fs-ink);
  font-size: 17px;
}

.capability-card p {
  margin: 0;
  color: var(--fs-muted);
  font-size: 14px;
  line-height: 1.65;
}

.boundary-card {
  border: 1px solid rgba(255,255,255,0.76);
  border-radius: 8px;
  background: rgba(255,255,255,0.62);
  box-shadow: 0 14px 38px rgba(16,24,39,0.06);
}

.boundary-toggle {
  width: 100%;
  min-height: 58px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--fs-ink);
  font-weight: 700;
}

.boundary-content {
  padding: 0 18px 18px;
}

.boundary-content[hidden] {
  display: none;
}

.boundary-content p {
  margin: 0;
  color: var(--fs-ink-soft);
  line-height: 1.75;
}

.boundary-content a {
  display: inline-flex;
  margin-top: 10px;
  color: var(--fs-teal-deep);
  font-weight: 700;
}

.fs-lead-panel {
  position: fixed;
  left: 50%;
  bottom: calc(18px + var(--safe-bottom));
  z-index: 80;
  width: min(720px, calc(100vw - 32px));
  max-height: min(720px, calc(100dvh - 96px));
  overflow: auto;
  padding: 22px;
  border: 1px solid rgba(255,255,255,0.78);
  border-radius: 8px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 28px 90px rgba(16,24,39,0.2);
  backdrop-filter: blur(28px) saturate(145%);
  -webkit-backdrop-filter: blur(28px) saturate(145%);
  transform: translate(-50%, calc(100% + 32px));
  opacity: 0;
  pointer-events: none;
  transition: transform .28s ease, opacity .28s ease;
}

.anchor-target {
  position: absolute;
  inset-block-start: 0;
}

.fs-lead-panel.open {
  transform: translate(-50%, 0);
  opacity: 1;
  pointer-events: auto;
}

.lead-panel-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.lead-panel-head h2 {
  margin: 0;
  color: var(--fs-ink);
}

.fs-lead-close {
  width: 42px;
  min-height: 42px;
  padding: 0;
  font-size: 22px;
}

.lead-panel-copy {
  margin: 10px 0 18px;
  color: var(--fs-ink-soft);
  line-height: 1.75;
}

.lead-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.lead-grid label {
  display: grid;
  gap: 6px;
  color: var(--fs-muted);
  font-size: 13px;
}

.lead-grid input,
.lead-grid select,
.lead-grid textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--fs-border);
  border-radius: 8px;
  padding: 10px 12px;
  color: var(--fs-ink);
  background: rgba(249,248,244,0.78);
  outline: 0;
}

.lead-grid textarea {
  min-height: 92px;
  resize: vertical;
}

.lead-wide {
  grid-column: 1 / -1;
}

.fs-lead-actions {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#fs-lead-result {
  color: var(--fs-teal-deep);
  font-size: 13px;
}

.fs-lead-submit {
  padding: 0 18px;
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, var(--fs-teal), var(--fs-teal-deep));
  font-weight: 700;
}

.mobile-bottom-cta {
  display: none;
}

.motion-toggle {
  position: fixed;
  right: 18px;
  bottom: calc(18px + var(--safe-bottom));
  z-index: 40;
  min-height: 40px;
  padding: 0 12px;
  color: var(--fs-muted);
  font-size: 12px;
  background: rgba(255,255,255,0.74);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.motion-toggle[aria-pressed="true"] {
  color: var(--fs-teal-deep);
  border-color: var(--fs-border-strong);
}

.site-footer {
  width: min(100% - 32px, 1480px);
  margin: 0 auto;
  padding: 18px 0 30px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  color: var(--fs-muted);
  font-size: 13px;
}

.site-footer a {
  color: var(--fs-teal-deep);
}

@keyframes orbWake {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes heroFloat {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -10px; }
}

@keyframes orbPulse {
  0%, 100% { opacity: .72; transform: scale(.99); }
  50% { opacity: .95; transform: scale(1.025); }
}

@keyframes coreBreath {
  0%, 100% { transform: scale(1); filter: saturate(1); }
  50% { transform: scale(1.018); filter: saturate(1.08); }
}

@keyframes orbitFloat {
  to { transform: rotate(360deg); }
}

@keyframes pearlSweep {
  0%, 58%, 100% { transform: translateX(-38%) rotate(-18deg); opacity: 0; }
  68% { opacity: .42; }
  82% { transform: translateX(42%) rotate(-18deg); opacity: 0; }
}

@keyframes orbitDriftA {
  0%, 100% { transform: rotate(-18deg) scale(1); }
  50% { transform: rotate(-10deg) scale(1.015); }
}

@keyframes orbitDriftB {
  0%, 100% { transform: rotate(28deg) scale(1); }
  50% { transform: rotate(20deg) scale(.99); }
}

@keyframes orbitDriftC {
  0%, 100% { transform: rotate(63deg) scale(1); }
  50% { transform: rotate(70deg) scale(1.01); }
}

@keyframes orbitDriftD {
  0%, 100% { transform: rotate(-58deg); }
  50% { transform: rotate(-66deg); }
}

@keyframes particleGlow {
  0%, 100% { opacity: .25; transform: translate3d(0,0,0) scale(.78); }
  45% { opacity: .95; transform: translate3d(5px,-7px,0) scale(1); }
  72% { opacity: .42; transform: translate3d(-4px,3px,0) scale(.86); }
}

@keyframes voiceWave {
  0%, 100% { transform: scale(.96); opacity: .58; }
  50% { transform: scale(1.06); opacity: 1; }
}

@keyframes scanRing {
  to { transform: rotate(360deg); }
}

@keyframes latticeRise {
  0%, 100% { opacity: .42; transform: scale(.96); }
  50% { opacity: .9; transform: scale(1.02); }
}

@keyframes shieldBreath {
  0%, 100% { transform: scale(.98); opacity: .54; }
  50% { transform: scale(1.04); opacity: .92; }
}

@keyframes successRipple {
  0% { transform: scale(.78); opacity: .9; }
  100% { transform: scale(1.28); opacity: 0; }
}

@keyframes skeleton {
  to { background-position: -220% 0; }
}

@media (max-width: 1180px) {
  .advisor-hero {
    grid-template-columns: minmax(300px, .38fr) minmax(520px, .62fr);
    gap: 28px;
  }

  .capability-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  body {
    background:
      radial-gradient(circle at 50% 8%, rgba(24,191,168,0.16), transparent 18rem),
      radial-gradient(circle at 80% 32%, rgba(200,181,138,0.13), transparent 18rem),
      linear-gradient(180deg, #fbfaf6 0%, #f4f2ec 100%);
  }

  .site-header {
    width: min(100% - 24px, 720px);
    min-height: 66px;
    padding-top: max(8px, env(safe-area-inset-top));
  }

  .site-header::before {
    inset: 6px -6px 0;
  }

  .brand img {
    width: 154px;
  }

  .site-nav > a {
    display: none;
  }

  .menu-button {
    display: inline-flex;
  }

  .page-shell {
    width: min(100% - 24px, 720px);
    padding: 12px 0 calc(104px + var(--safe-bottom));
  }

  .advisor-hero {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .orb-column {
    min-height: auto;
    gap: 8px;
  }

  .orb-wrap {
    width: min(46vw, 200px);
  }

  .orb-copy {
    display: none;
  }

  .agent-status-chip {
    min-height: 36px;
    font-size: 13px;
  }

  #ambient-hint {
    max-width: 330px;
    font-size: 12px;
    min-height: 18px;
  }

  .advisor-workspace {
    padding: 16px;
    border-radius: 8px;
  }

  .workspace-head {
    align-items: center;
  }

  .workspace-head h1 {
    font-size: 38px;
  }

  .advisor-title {
    margin-top: 8px;
    font-size: 13.5px;
  }

  .workspace-mark {
    width: 46px;
    height: 46px;
    font-size: 13px;
  }

  .value-line {
    margin-top: 16px;
    font-size: 17px;
  }

  .advisor-note {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.68;
  }

  .consultation-console {
    margin-top: 16px;
  }

  #q {
    min-height: 74px;
    font-size: 16px;
  }

  .input-actions {
    align-items: stretch;
  }

  .upload-report {
    flex: 1;
  }

  .send-button {
    padding: 0 15px;
  }

  .voice-panel__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .prompt-grid {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .prompt-grid::-webkit-scrollbar {
    display: none;
  }

  .topic {
    flex: 0 0 auto;
    max-width: 278px;
    white-space: normal;
    text-align: left;
    padding-block: 8px;
  }

  .answer-grid {
    grid-template-columns: 1fr;
  }

  .capability-section,
  .boundary-card {
    margin-top: 18px;
  }

  .section-head {
    display: block;
  }

  .capability-grid {
    display: flex;
    overflow-x: auto;
    gap: 10px;
    padding-bottom: 4px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .capability-grid::-webkit-scrollbar {
    display: none;
  }

  .capability-card {
    flex: 0 0 180px;
    min-height: 142px;
    scroll-snap-align: start;
  }

  .boundary-content {
    font-size: 14px;
  }

  .fs-lead-panel {
    bottom: 0;
    width: 100%;
    max-height: calc(100dvh - 72px);
    border-radius: 18px 18px 0 0;
    transform: translate(-50%, 105%);
    padding-bottom: calc(22px + var(--safe-bottom));
  }

  .lead-grid {
    grid-template-columns: 1fr;
  }

  .mobile-bottom-cta {
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: calc(12px + var(--safe-bottom));
    z-index: 45;
    min-height: 54px;
    display: grid;
    place-items: center;
    color: #fff;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--fs-teal), var(--fs-teal-deep));
    box-shadow: 0 18px 48px rgba(24,191,168,0.26);
    font-weight: 700;
  }

  .motion-toggle {
    right: 18px;
    top: calc(78px + env(safe-area-inset-top, 0px));
    bottom: auto;
    min-height: 36px;
  }

  .site-footer {
    width: min(100% - 24px, 720px);
    display: grid;
    padding-bottom: calc(96px + var(--safe-bottom));
  }

  .mobile-official-links {
    display: block;
  }
}

@media (max-width: 430px) {
  .page-shell {
    width: min(100% - 18px, 430px);
  }

  .site-header {
    width: min(100% - 18px, 430px);
  }

  .advisor-workspace {
    padding: 16px;
  }

  .workspace-head h1 {
    font-size: 36px;
  }

  .workspace-mark {
    display: none;
  }

  .input-actions {
    gap: 8px;
  }

  .glass-button {
    padding: 0 12px;
  }

  .send-button span {
    display: none;
  }

  .send-button {
    width: 46px;
    padding: 0;
    justify-content: center;
  }

  .voice-panel__actions {
    width: 100%;
  }

  .voice-panel__actions button {
    flex: 1;
  }

  .answer-card {
    padding: 18px;
  }

  .q-head {
    grid-template-columns: 1fr;
    padding-right: 38px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}

body.motion-reduced *,
body.motion-reduced *::before,
body.motion-reduced *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: 0.001ms !important;
}

/* Second-pass immersive advisor shell: keep XiaoBu as a one-screen intelligence cockpit. */
:root {
  --shell-pad: clamp(10px, 1.2vw, 18px);
  --header-h: clamp(62px, 7vh, 72px);
  --footer-h: 34px;
  --orb-size: clamp(420px, 34vw, 650px);
  --orb-core: clamp(250px, 21vw, 390px);
}

html,
body {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body {
  height: 100dvh;
}

.site-header {
  position: relative;
  height: var(--header-h);
  min-height: 0;
  padding: 6px 0;
}

.site-header::before {
  inset: 6px -10px 6px;
}

.brand {
  min-height: 44px;
}

.brand img {
  width: clamp(148px, 14vw, 184px);
}

.site-nav a {
  min-height: 40px;
  padding-inline: 14px;
}

.page-shell {
  width: min(100% - 32px, 1500px);
  height: calc(100dvh - var(--header-h) - var(--footer-h) - 18px);
  min-height: 0;
  max-height: calc(100dvh - var(--header-h) - var(--footer-h) - 18px);
  margin: 6px auto 0;
  padding: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 8px;
  overflow: hidden;
}

.advisor-hero {
  min-height: 0;
  overflow: hidden;
  grid-template-columns: minmax(460px, .95fr) minmax(620px, 1.25fr);
  gap: clamp(24px, 2.4vw, 36px);
  align-items: center;
}

.orb-column {
  min-height: 0;
  height: 100%;
  gap: clamp(8px, 1.1vh, 14px);
}

.orb-column::before {
  width: min(680px, 44vw);
  height: min(680px, 44vw);
  opacity: .95;
  filter: blur(34px);
}

.orb-wrap {
  width: var(--orb-size);
  max-width: 100%;
}

.intelligence-orb {
  filter: drop-shadow(0 42px 135px rgba(24, 191, 168, .27));
}

.orb-core {
  width: var(--orb-core);
  max-width: 64%;
}

.orb-glow {
  inset: 3%;
  filter: blur(26px);
}

.orbit {
  stroke-width: 1.25;
  stroke-opacity: .95;
}

.orb-particles i {
  width: 7px;
  height: 7px;
  box-shadow: 0 0 18px rgba(24,191,168,.82), 0 0 5px rgba(255,255,255,.9);
}

.intelligence-orb[data-state="wake"] .orbit {
  animation-duration: 7s;
}

.intelligence-orb[data-state="typing"] .orb-particles i,
.intelligence-orb[data-state="promptSelected"] .orb-particles i {
  animation: particleGather 2.8s ease-in-out var(--d) infinite;
}

.intelligence-orb[data-state="attentive"] .orb-glow,
.intelligence-orb[data-state="typing"] .orb-glow {
  opacity: 1;
  transform: translateX(2.5%) scale(1.02);
}

.intelligence-orb[data-state="speaking"] .voice-wave,
.intelligence-orb[data-state="listening"] .voice-wave {
  inset: 3%;
}

.agent-status-chip {
  min-height: 38px;
  padding-inline: 15px;
}

#ambient-hint {
  max-width: 460px;
  color: rgba(48,57,74,.78);
}

.orb-copy {
  max-width: 500px;
}

.orb-copy h2 {
  font-size: clamp(26px, 2.6vw, 38px);
}

.orb-copy p:last-child {
  margin-top: 8px;
  font-size: 15px;
  line-height: 1.55;
}

.advisor-workspace {
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: clamp(20px, 2.15vw, 30px);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.44)),
    radial-gradient(circle at 100% 0, rgba(24,191,168,.12), transparent 22rem);
  box-shadow: 0 28px 90px rgba(16,24,39,.13), inset 0 1px 0 rgba(255,255,255,.94);
}

.workspace-head {
  flex: 0 0 auto;
}

.workspace-head h1 {
  font-size: clamp(40px, 4vw, 58px);
}

.advisor-title {
  margin-top: 8px;
  font-size: 15px;
}

.workspace-mark {
  width: 48px;
  height: 48px;
}

.value-line {
  margin-top: 14px;
  font-size: clamp(17px, 1.55vw, 22px);
  line-height: 1.32;
}

.advisor-note {
  margin-top: 8px;
  max-width: 680px;
  font-size: 14px;
  line-height: 1.62;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.consultation-console {
  min-height: 0;
  margin-top: 16px;
}

.advisor-input {
  padding: 12px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.64)),
    radial-gradient(circle at 8% 0, rgba(24,191,168,.09), transparent 16rem);
}

#q {
  min-height: 54px;
  max-height: 104px;
  padding: 5px 5px 10px;
  font-size: 16px;
  line-height: 1.48;
}

.input-actions {
  gap: 10px;
}

.glass-button,
.icon-button,
.send-button {
  min-height: 42px;
}

.voice-panel {
  margin-top: 10px;
  padding: 10px 12px;
  gap: 7px;
  border-radius: 16px;
  background: rgba(255,255,255,.5);
}

.voice-panel__head {
  font-size: 13px;
}

.voice-panel__actions button {
  min-height: 32px;
  padding-inline: 10px;
}

#voice-transcript {
  min-height: 18px;
  font-size: 12.5px;
  line-height: 1.45;
}

.auto-tts-toggle {
  min-height: 34px;
  font-size: 12px;
}

.prompt-grid {
  margin-top: 10px;
  gap: 8px;
  max-height: 92px;
  overflow: hidden;
}

.topic {
  min-height: 36px;
  padding-inline: 12px;
  font-size: 13px;
}

.answer-zone {
  max-height: min(240px, 27vh);
  overflow: auto;
  margin-top: 10px;
  scrollbar-width: thin;
}

.answer-card {
  padding: 16px;
  border-radius: 18px;
}

.answer-grid {
  margin-top: 12px;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 12px;
}

.section + .section,
.handoff,
.feedback-row,
.footer-note,
.tts-row {
  margin-top: 10px;
}

.capability-section {
  margin: 0;
  min-height: 86px;
  overflow: hidden;
}

.section-head {
  align-items: center;
}

.section-head p {
  margin: 0;
}

.section-head h2 {
  font-size: 18px;
}

.capability-grid {
  margin-top: 8px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.capability-card {
  min-height: 70px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.54);
}

.capability-card h3 {
  margin: 6px 0 3px;
  font-size: 14px;
}

.capability-card p {
  font-size: 12px;
  line-height: 1.35;
}

.boundary-card {
  margin: 0;
  min-height: 36px;
  border-radius: 18px;
  overflow: hidden;
}

.boundary-toggle {
  display: none;
}

.boundary-content {
  min-height: 36px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.boundary-content p {
  font-size: 12.5px;
  line-height: 1.35;
}

.boundary-content a {
  flex: 0 0 auto;
  margin: 0;
  font-size: 12.5px;
}

.site-footer {
  height: var(--footer-h);
  width: min(100% - 32px, 1500px);
  padding: 0;
  align-items: center;
  overflow: hidden;
  font-size: 12px;
}

.motion-toggle {
  min-height: 34px;
  right: 12px;
  bottom: 8px;
}

@keyframes particleGather {
  0%, 100% { opacity: .3; transform: translate3d(0,0,0) scale(.82); }
  45% { opacity: .98; transform: translate3d(-8px,-5px,0) scale(1.08); }
  70% { opacity: .55; transform: translate3d(6px,5px,0) scale(.9); }
}

@media (max-height: 880px) and (min-width: 901px) {
  :root {
    --orb-size: clamp(400px, 31vw, 520px);
    --orb-core: clamp(238px, 19vw, 340px);
    --footer-h: 30px;
  }

  .page-shell {
    gap: 6px;
  }

  .advisor-workspace {
    padding: 18px 24px;
  }

  .workspace-head h1 {
    font-size: clamp(36px, 3.4vw, 50px);
  }

  .value-line {
    margin-top: 10px;
  }

  .advisor-note {
    margin-top: 6px;
  }

  .consultation-console {
    margin-top: 12px;
  }

  #q {
    min-height: 48px;
  }

  .capability-section {
    min-height: 78px;
  }

  .capability-card {
    min-height: 62px;
  }
}

@media (max-width: 1180px) and (min-width: 901px) {
  .advisor-hero {
    grid-template-columns: minmax(380px, .88fr) minmax(560px, 1.2fr);
  }
}

@media (max-width: 900px) {
  :root {
    --header-h: calc(62px + env(safe-area-inset-top, 0px));
    --footer-h: 0px;
    --orb-size: clamp(190px, 30vh, 270px);
    --orb-core: clamp(126px, 20vh, 182px);
  }

  html,
  body {
    overflow: hidden;
  }

  body {
    height: 100dvh;
  }

  .site-header {
    width: min(calc(100vw - 18px), 720px);
    height: var(--header-h);
    padding-top: max(6px, env(safe-area-inset-top, 0px));
  }

  .brand img {
    width: 138px;
  }

  .page-shell {
    width: min(calc(100vw - 18px), 720px);
    height: calc(100dvh - var(--header-h) - 88px - env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - var(--header-h) - 88px - env(safe-area-inset-bottom, 0px));
    margin-top: 4px;
    grid-template-rows: minmax(0, 1fr) auto auto;
    gap: 6px;
    overflow: hidden;
  }

  .advisor-hero {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    gap: 8px;
  }

  .orb-column {
    height: auto;
    gap: 4px;
  }

  .orb-wrap {
    width: var(--orb-size);
  }

  .agent-status-card {
    gap: 3px;
  }

  .agent-status-chip {
    min-height: 30px;
    padding-inline: 12px;
    font-size: 12px;
  }

  #ambient-hint {
    max-width: 340px;
    min-height: 15px;
    font-size: 11.5px;
    line-height: 1.32;
  }

  .advisor-workspace {
    min-height: 0;
    overflow: hidden;
    padding: 13px;
    border-radius: 22px;
  }

  .workspace-head h1 {
    font-size: clamp(30px, 9vw, 38px);
  }

  .advisor-title {
    margin-top: 5px;
    font-size: 12px;
  }

  .value-line {
    margin-top: 8px;
    font-size: 15px;
  }

  .advisor-note {
    margin-top: 5px;
    font-size: 12.5px;
    line-height: 1.42;
    -webkit-line-clamp: 2;
  }

  .consultation-console {
    margin-top: 9px;
  }

  .advisor-input {
    padding: 9px;
  }

  #q {
    min-height: 50px;
    max-height: 112px;
    font-size: 15px;
    line-height: 1.42;
  }

  .input-actions {
    flex-wrap: nowrap;
  }

  .glass-button,
  .icon-button,
  .send-button {
    min-height: 42px;
  }

  .glass-button span:last-child {
    display: none;
  }

  .voice-panel {
    margin-top: 7px;
    padding: 8px 10px;
    gap: 5px;
  }

  .voice-panel__head {
    flex-direction: row;
    align-items: center;
    font-size: 12px;
  }

  .voice-panel__actions {
    width: auto;
  }

  .voice-panel__actions button {
    flex: 0 0 auto;
    min-height: 32px;
    padding-inline: 9px;
    font-size: 12px;
  }

  #voice-transcript {
    min-height: 16px;
    font-size: 11.5px;
    line-height: 1.32;
  }

  .auto-tts-toggle {
    min-height: 30px;
    font-size: 11.5px;
  }

  .prompt-grid {
    margin-top: 7px;
    max-height: 40px;
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .topic {
    min-height: 34px;
    max-width: 250px;
    font-size: 12px;
    white-space: nowrap;
  }

  .answer-zone {
    max-height: 150px;
  }

  .capability-section {
    min-height: 64px;
  }

  .section-head {
    display: none;
  }

  .capability-grid {
    margin-top: 0;
    display: flex;
    overflow-x: auto;
    gap: 8px;
  }

  .capability-card {
    flex: 0 0 145px;
    min-height: 60px;
    padding: 8px 10px;
  }

  .capability-card h3 {
    font-size: 13px;
  }

  .capability-card p {
    font-size: 11px;
  }

  .boundary-card {
    min-height: 32px;
  }

  .boundary-content {
    min-height: 32px;
    padding-inline: 10px;
  }

  .boundary-content p {
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .boundary-content a {
    display: none;
  }

  .site-footer {
    display: none;
  }

  .motion-toggle {
    display: none;
  }

  .mobile-bottom-cta {
    min-height: 52px;
    left: 12px;
    right: 12px;
    bottom: calc(10px + var(--safe-bottom));
  }
}

@media (max-width: 390px), (max-height: 760px) and (max-width: 900px) {
  :root {
    --orb-size: clamp(156px, 22vh, 190px);
    --orb-core: clamp(102px, 15vh, 138px);
  }

  .advisor-note,
  .workspace-mark {
    display: none;
  }

  .advisor-workspace {
    padding: 12px;
  }

  .workspace-head h1 {
    font-size: 31px;
  }

  .value-line {
    font-size: 13.5px;
    line-height: 1.32;
  }

  #q {
    min-height: 42px;
  }

  .auto-tts-toggle {
    display: none;
  }

  .voice-panel {
    padding: 7px 9px;
  }

  .voice-panel {
    grid-template-columns: 1fr;
  }

  .capability-section {
    display: none;
  }
}

/* Third-pass Bio-Holographic Intelligence Core and mobile PWA redesign. */
:root {
  --fs-bg: #f6f4ee;
  --fs-bg-soft: #faf8f3;
  --fs-ink: #0f172a;
  --fs-ink-soft: #2e3848;
  --fs-muted: #6f7b86;
  --fs-teal: #12b8a3;
  --fs-teal-deep: #087a72;
  --fs-teal-glow: rgba(18, 184, 163, 0.22);
  --fs-gold: #c8b58a;
  --fs-glass: rgba(255, 255, 255, 0.68);
  --fs-glass-strong: rgba(255, 255, 255, 0.84);
  --fs-border: rgba(12, 126, 116, 0.16);
  --header-h: clamp(60px, 6.8vh, 68px);
  --footer-h: 30px;
  --orb-size: clamp(520px, 42vw, 760px);
  --orb-core: clamp(310px, 26vw, 460px);
}

html,
body {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body {
  min-width: 0;
  height: 100dvh;
  background:
    radial-gradient(circle at 16% 18%, rgba(255,255,255,.78), transparent 16rem),
    radial-gradient(circle at 24% 46%, rgba(18,184,163,.13), transparent 28rem),
    radial-gradient(circle at 82% 18%, rgba(200,181,138,.13), transparent 26rem),
    linear-gradient(135deg, #f6f4ee 0%, #fbfaf6 48%, #edf7f4 100%);
}

.fs-background::before,
.fs-background::after {
  border-color: rgba(12,126,116,.055);
}

.fs-background {
  background:
    linear-gradient(115deg, transparent 0 48%, rgba(255,255,255,.35) 49%, transparent 52%),
    repeating-linear-gradient(96deg, rgba(12,126,116,.025) 0 1px, transparent 1px 38px);
}

.site-header {
  height: var(--header-h);
  width: min(100% - 32px, 1500px);
  padding: 5px 0;
}

.site-header::before {
  inset: 7px -8px 7px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,255,255,.56)),
    radial-gradient(circle at 12% 18%, rgba(18,184,163,.08), transparent 12rem);
  border-color: rgba(255,255,255,.78);
  box-shadow: 0 14px 42px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.92);
}

.brand img {
  width: clamp(142px, 12.5vw, 174px);
}

.site-nav {
  gap: 8px;
}

.site-nav a {
  min-height: 38px;
  padding-inline: 13px;
}

.site-nav .nav-cta,
.mobile-bottom-cta {
  background:
    linear-gradient(135deg, rgba(255,255,255,.2), transparent 40%),
    linear-gradient(135deg, #17c4b0, #087a72);
  box-shadow: 0 16px 40px rgba(18,184,163,.23), inset 0 1px 0 rgba(255,255,255,.34);
}

.page-shell {
  width: min(100% - 32px, 1500px);
  height: calc(100dvh - var(--header-h) - var(--footer-h) - 14px);
  max-height: calc(100dvh - var(--header-h) - var(--footer-h) - 14px);
  margin: 5px auto 0;
  gap: 7px;
  overflow: hidden;
  grid-template-rows: minmax(0, 1fr) auto auto;
}

.advisor-hero {
  grid-template-columns: minmax(455px, .98fr) minmax(620px, 1.18fr);
  gap: clamp(22px, 2.8vw, 42px);
}

.orb-column {
  position: relative;
  align-content: center;
  gap: clamp(7px, .9vh, 12px);
  padding: 4px 0;
  border-radius: 34px;
  isolation: isolate;
}

.orb-column::before {
  width: min(760px, 54vw);
  height: min(760px, 54vw);
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.82), transparent 20%),
    radial-gradient(circle at 45% 52%, rgba(18,184,163,.18), transparent 46%),
    radial-gradient(circle at 61% 36%, rgba(200,181,138,.15), transparent 58%);
  opacity: .9;
  filter: blur(38px);
}

.orb-column::after {
  content: "";
  position: absolute;
  inset: 5% 2% 18%;
  z-index: -1;
  border-radius: 42% 58% 46% 54%;
  background:
    linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent),
    radial-gradient(circle at 38% 36%, rgba(255,255,255,.24), transparent 20rem);
  opacity: .55;
  filter: blur(18px);
}

.orb-wrap {
  width: min(var(--orb-size), 68dvh);
  max-width: 100%;
  perspective: 1200px;
}

.bio-core {
  --voice-energy: 0;
  --voice-low: 0;
  --voice-mid: 0;
  --voice-high: 0;
  --voice-aperture: .12;
  --voice-aperture-x: 34px;
  --voice-aperture-y: 58px;
  --voice-aperture-scale-y: 1;
  --voice-resonance-core: 1;
  --voice-resonance-spine: 1;
  --voice-resonance-rotation: 0deg;
  --voice-core-scale: 1;
  --voice-ring-scale: 1;
  --voice-wave-scale: 1;
  --voice-membrane-scale: 1;
  --voice-brightness: 1;
  --voice-aperture-glow: .22;
  --voice-filament-opacity: .34;
  --voice-particle-opacity: .52;
  --voice-particle-scale: 1;
  --voice-particle-shift-x: 0px;
  --voice-particle-shift-y: 0px;
  --voice-pulse-opacity: 0;
  --voice-pulse-scale: 1;
  --voice-silence: 1;
  filter: drop-shadow(0 48px 150px rgba(18,184,163,.24));
  transform-style: preserve-3d;
}

.bio-aura,
.bio-membrane,
.bio-core-body,
.holographic-rings,
.living-particles,
.bio-core .voice-wave,
.bio-core .scan-ring,
.bio-core .success-ripple {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.bio-aura {
  inset: 3%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.72) 0 9%, rgba(18,184,163,.2) 24%, transparent 58%),
    radial-gradient(circle at 62% 42%, rgba(200,181,138,.18), transparent 46%);
  filter: blur(24px);
  opacity: .9;
  animation: bioAuraBreath 10.5s ease-in-out infinite;
}

.bio-membrane {
  width: var(--orb-core);
  aspect-ratio: 1;
  inset: auto;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  border-radius: 44% 56% 51% 49% / 48% 43% 57% 52%;
  border: 1px solid rgba(255,255,255,.74);
  background:
    radial-gradient(circle at 35% 24%, rgba(255,255,255,.94), rgba(255,255,255,.42) 18%, transparent 42%),
    radial-gradient(circle at 56% 56%, rgba(18,184,163,.27), transparent 48%),
    radial-gradient(circle at 72% 34%, rgba(200,181,138,.24), transparent 44%),
    linear-gradient(145deg, rgba(255,255,255,.66), rgba(225,246,241,.34));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 28px 22px 58px rgba(255,255,255,.42),
    inset -24px -24px 58px rgba(8,122,114,.13),
    0 34px 105px rgba(18,184,163,.24);
  overflow: hidden;
  scale: var(--voice-membrane-scale);
  animation: bioMembraneLife 11s ease-in-out infinite;
  transition: scale .1s linear, box-shadow .14s linear;
}

.bio-membrane::before {
  content: "";
  position: absolute;
  inset: 7%;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,.35);
  background:
    radial-gradient(circle at 52% 54%, rgba(255,255,255,.18), transparent 48%),
    conic-gradient(from 130deg, transparent, rgba(18,184,163,.08), transparent, rgba(200,181,138,.1), transparent);
  filter: blur(.2px);
}

.membrane-refraction {
  position: absolute;
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  filter: blur(1px);
}

.refraction-a {
  width: 31%;
  height: 5%;
  left: 17%;
  top: 22%;
  rotate: -29deg;
}

.refraction-b {
  width: 18%;
  height: 3%;
  right: 18%;
  bottom: 25%;
  rotate: -18deg;
  opacity: .38;
}

.membrane-sheen {
  position: absolute;
  inset: -18%;
  background: linear-gradient(108deg, transparent 34%, rgba(255,255,255,.36), transparent 58%);
  transform: translateX(-55%) rotate(-8deg);
  animation: bioPearlSweep 19s ease-in-out infinite;
}

.bio-core-body {
  width: calc(var(--orb-core) * .74);
  aspect-ratio: 1;
  inset: auto;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  border-radius: 50%;
  transform: scale(var(--voice-core-scale));
  filter: brightness(var(--voice-brightness));
  transition: transform .12s linear, filter .12s linear;
}

.life-nucleus {
  position: absolute;
  inset: 31%;
  border-radius: 50%;
}

.nucleus-outer {
  background:
    radial-gradient(circle, rgba(255,255,255,.95), rgba(231,253,248,.48) 35%, rgba(18,184,163,.18) 62%, transparent 76%);
  box-shadow: 0 0 34px rgba(18,184,163,.32), 0 0 64px rgba(255,255,255,.44);
  animation: nucleusBreath 9.5s ease-in-out infinite;
}

.nucleus-inner {
  inset: 39%;
  background:
    radial-gradient(circle, rgba(255,255,255,.98), rgba(200,181,138,.36) 34%, rgba(18,184,163,.18) 72%, transparent);
  box-shadow: 0 0 26px rgba(255,255,255,.78), 0 0 30px rgba(200,181,138,.28);
}

.vocal-aperture,
.resonance-core {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 5;
  width: var(--voice-aperture-x);
  height: var(--voice-aperture-y);
  translate: -50% -50%;
  border-radius: 48% 52% 54% 46% / 42% 40% 60% 58%;
  opacity: .12;
  background:
    radial-gradient(ellipse at 50% 46%, rgba(255,255,255,.96) 0 8%, rgba(229,252,247,.62) 14%, transparent 36%),
    conic-gradient(from 12deg, rgba(18,184,163,.1), rgba(255,255,255,.42), rgba(200,181,138,.2), rgba(18,184,163,.1)),
    radial-gradient(ellipse at center, rgba(6,49,47,.28), rgba(18,184,163,.16) 48%, rgba(255,255,255,.24) 72%, transparent 82%);
  border: 1px solid rgba(255,255,255,.56);
  box-shadow:
    inset 0 0 18px rgba(255,255,255,.5),
    inset 0 -12px 24px rgba(8,122,114,.1),
    0 0 calc(18px + var(--voice-aperture) * 20px) rgba(18,184,163,var(--voice-aperture-glow)),
    0 0 42px rgba(255,255,255,.32);
  transform:
    rotate(var(--voice-resonance-rotation))
    scale(calc(.88 + var(--voice-aperture) * .18), var(--voice-aperture-scale-y));
  transform-origin: center;
  overflow: visible;
  transition: opacity .24s ease, width .08s linear, height .08s linear, transform .08s linear, box-shadow .08s linear;
}

.vocal-aperture::before,
.vocal-aperture::after,
.resonance-core::before,
.resonance-core::after {
  content: "";
  position: absolute;
  inset: -72%;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  opacity: var(--voice-pulse-opacity);
  transform: scale(var(--voice-pulse-scale));
  filter: blur(.2px);
}

.vocal-aperture::after,
.resonance-core::after {
  inset: -116%;
  border-color: rgba(18,184,163,.24);
  opacity: var(--voice-pulse-opacity);
}

.resonance-shell,
.resonance-spine,
.resonance-seed {
  position: absolute;
  left: 50%;
  top: 50%;
  pointer-events: none;
}

.resonance-shell {
  border-radius: 50%;
  translate: -50% -50%;
  border: 1px solid rgba(255,255,255,.45);
  box-shadow: inset 0 0 12px rgba(255,255,255,.32), 0 0 18px rgba(18,184,163,.14);
}

.shell-outer {
  width: 142%;
  height: 92%;
  transform: rotate(90deg) scale(var(--voice-resonance-core));
  opacity: calc(.34 + var(--voice-aperture) * .38);
}

.shell-mid {
  width: 94%;
  height: 112%;
  border-color: rgba(18,184,163,.28);
  transform: rotate(-18deg) scale(calc(.9 + var(--voice-mid) * .18));
}

.shell-inner {
  width: 58%;
  height: 76%;
  border-color: rgba(200,181,138,.34);
  transform: rotate(22deg) scale(calc(.88 + var(--voice-high) * .18));
}

.resonance-spine {
  width: 6px;
  height: 86%;
  translate: -50% -50%;
  border-radius: 999px;
  background:
    linear-gradient(180deg, transparent, rgba(255,255,255,.72) 18%, rgba(18,184,163,.74) 48%, rgba(200,181,138,.46) 68%, transparent),
    radial-gradient(circle, rgba(255,255,255,.9), transparent 62%);
  box-shadow:
    0 0 12px rgba(255,255,255,.62),
    0 0 calc(16px + var(--voice-mid) * 24px) rgba(18,184,163,.4);
  opacity: calc(.46 + var(--voice-aperture) * .48);
  transform: scaleY(var(--voice-resonance-spine));
  animation: resonanceSpineFlow 4.8s ease-in-out infinite;
}

.resonance-seed {
  width: 15px;
  height: 15px;
  translate: -50% -50%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,1), rgba(230,216,184,.62) 42%, rgba(18,184,163,.32) 74%, transparent);
  box-shadow: 0 0 22px rgba(255,255,255,.76), 0 0 calc(26px + var(--voice-energy) * 36px) rgba(18,184,163,.34);
  transform: scale(calc(.82 + var(--voice-resonance-core) * .2));
}

.knowledge-filaments,
.microfluidic-veins {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.knowledge-filaments path {
  fill: none;
  stroke: rgba(8,122,114,.36);
  stroke-width: .9;
  stroke-linecap: round;
  filter: drop-shadow(0 0 4px rgba(18,184,163,.28));
  stroke-dasharray: 58 120;
  opacity: var(--voice-filament-opacity);
  animation: filamentDrift 14s ease-in-out infinite;
  transition: opacity .1s linear, stroke-width .1s linear;
}

.knowledge-filaments circle {
  fill: rgba(255,255,255,.78);
  stroke: rgba(18,184,163,.32);
  stroke-width: .8;
  filter: drop-shadow(0 0 7px rgba(18,184,163,.45));
  animation: nodePulse 8s ease-in-out infinite;
}

.microfluidic-veins {
  opacity: .64;
}

.microfluidic-veins path {
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke: rgba(183,151,84,.36);
  filter: drop-shadow(0 0 6px rgba(255,255,255,.26));
  stroke-dasharray: 90 160;
  animation: microflow 18s ease-in-out infinite;
}

.vein-b,
.vein-d {
  stroke: rgba(18,184,163,.2);
  animation-delay: -5s;
}

.report-fields,
.medical-data-layer {
  position: absolute;
  inset: 0;
  opacity: .22;
  transition: opacity .25s ease;
}

.report-fields i {
  position: absolute;
  padding: 2px 6px;
  border: 1px solid rgba(18,184,163,.18);
  border-radius: 999px;
  color: rgba(8,122,114,.72);
  background: rgba(255,255,255,.42);
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .04em;
  opacity: .72;
  animation: medicalNodeIdle 13s ease-in-out infinite;
}

.report-fields i:nth-child(1) { left: 13%; top: 30%; animation-delay: -1s; }
.report-fields i:nth-child(2) { right: 12%; top: 36%; animation-delay: -4s; }
.report-fields i:nth-child(3) { left: 21%; bottom: 22%; animation-delay: -7s; }
.report-fields i:nth-child(4) { right: 18%; bottom: 25%; animation-delay: -2s; }
.report-fields i:nth-child(5) { left: 41%; top: 13%; animation-delay: -9s; }
.report-fields i:nth-child(6) { right: 31%; bottom: 11%; animation-delay: -6s; }

.holographic-rings {
  inset: 0;
  overflow: visible;
  transform: scale(var(--voice-ring-scale));
  transition: transform .1s linear;
}

.holo-ring {
  fill: none;
  stroke-width: 1.15;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  transform-origin: 260px 260px;
  opacity: .98;
}

.ring-a {
  stroke: rgba(8,122,114,.38);
  stroke-dasharray: 18 22 64 24;
  transform: rotate(-16deg);
  animation: holoDriftA 31s ease-in-out infinite;
}

.ring-b {
  stroke: rgba(183,151,84,.38);
  stroke-dasharray: 92 34;
  transform: rotate(28deg);
  animation: holoDriftB 37s ease-in-out infinite;
}

.ring-c {
  stroke: rgba(62,143,167,.27);
  stroke-dasharray: 12 18;
  transform: rotate(62deg);
  animation: holoDriftC 41s ease-in-out infinite;
}

.ring-d {
  stroke: rgba(255,255,255,.56);
  stroke-dasharray: 40 18;
  transform: rotate(-58deg);
  animation: holoDriftD 26s ease-in-out infinite;
}

.ring-wave {
  opacity: 0;
  stroke: rgba(18,184,163,.42);
  stroke-dasharray: 12 9;
  transform-origin: 260px 260px;
  filter: drop-shadow(0 0 8px rgba(18,184,163,.28));
  transform: scale(var(--voice-wave-scale));
  transition: transform .08s linear, opacity .12s linear;
}

.living-particles i {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  box-shadow: 0 0 14px rgba(18,184,163,.68), 0 0 4px rgba(255,255,255,.9);
  opacity: .52;
  translate: var(--voice-particle-shift-x) var(--voice-particle-shift-y);
  animation: livingParticle 8.5s ease-in-out var(--d) infinite;
  transition: translate .1s linear, opacity .08s linear, transform .08s linear;
}

.living-particles i:nth-child(3n) {
  background: rgba(200,181,138,.9);
  box-shadow: 0 0 14px rgba(200,181,138,.52);
}

.bio-core .voice-wave {
  inset: 4%;
  border: 0;
  opacity: 0;
}

.bio-core .voice-wave span {
  border-color: rgba(18,184,163,.24);
  transform: scale(var(--voice-wave-scale));
}

.voice-pulse-field {
  position: absolute;
  inset: 14%;
  border-radius: 50%;
  opacity: var(--voice-pulse-opacity);
  pointer-events: none;
}

.voice-pulse-field span {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 50%;
  box-shadow: 0 0 28px rgba(18,184,163,.16);
  transform: scale(var(--voice-pulse-scale));
}

.voice-pulse-field span:last-child {
  inset: -12%;
  border-color: rgba(18,184,163,.22);
  opacity: .64;
}

.bio-core.voice-onset .bio-aura {
  animation: voiceOnsetPulse .46s ease-out;
}

.bio-core.voice-onset .ring-wave {
  stroke: rgba(255,255,255,.72);
}

.bio-core.voice-onset .voice-pulse-field span {
  animation: voicePulseRing .62s ease-out;
}

.bio-core.voice-onset .living-particles i {
  animation: voiceParticleBurst .62s ease-out;
}

.bio-core .scan-ring {
  inset: 13%;
  border-color: rgba(200,181,138,.4);
  background:
    linear-gradient(180deg, transparent 0 42%, rgba(18,184,163,.2) 49%, transparent 58%),
    conic-gradient(from 0deg, transparent, rgba(18,184,163,.18), transparent 28%);
}

.bio-core[data-state="attentive"] .bio-membrane,
.bio-core[data-state="typing"] .bio-membrane {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 28px 22px 58px rgba(255,255,255,.44),
    inset -24px -24px 58px rgba(8,122,114,.16),
    0 36px 112px rgba(18,184,163,.24);
}

.bio-core[data-state="attentive"] .ring-a,
.bio-core[data-state="typing"] .ring-a {
  stroke: rgba(18,184,163,.44);
}

.bio-core[data-state="typing"] .knowledge-filaments path,
.bio-core[data-state="promptSelected"] .knowledge-filaments path {
  stroke: rgba(18,184,163,.44);
  stroke-dasharray: 44 78;
}

.bio-core[data-state="thinking"] .knowledge-filaments path,
.bio-core[data-state="answering"] .knowledge-filaments path {
  stroke: rgba(18,184,163,.58);
  stroke-width: 1.25;
  stroke-dasharray: 22 42;
  animation-duration: 5s;
}

.bio-core[data-state="thinking"] .report-fields,
.bio-core[data-state="answering"] .report-fields,
.bio-core[data-state="speaking"] .report-fields {
  opacity: calc(.28 + var(--voice-high) * .45);
}

.bio-core[data-state="thinking"] .knowledge-filaments circle,
.bio-core[data-state="answering"] .knowledge-filaments circle {
  animation-duration: 3.8s;
}

.bio-core[data-state="listening"] .ring-wave,
.bio-core[data-state="speaking"] .ring-wave {
  opacity: 1;
  animation: voiceWavePath 1.8s ease-in-out infinite;
}

.bio-core[data-state="speaking"] .vocal-aperture,
.bio-core[data-state="speaking"] .resonance-core {
  opacity: calc(.74 + var(--voice-aperture) * .18);
  animation: resonanceCoreLife 2.9s ease-in-out infinite;
}

.bio-core[data-state="speaking"] .holo-ring {
  stroke-width: 1.35;
}

.bio-core[data-state="speaking"] .knowledge-filaments path {
  animation-duration: 4.6s;
  stroke: rgba(18,184,163, calc(.42 + var(--voice-high) * .28));
}

.bio-core[data-state="speaking"] .living-particles i {
  opacity: var(--voice-particle-opacity);
  transform: scale(var(--voice-particle-scale));
  transition: opacity .08s linear, transform .08s linear;
}

.bio-core[data-state="speaking"] .bio-membrane::before {
  transform: scale(calc(1 + var(--voice-low) * .028));
  filter: brightness(calc(1 + var(--voice-energy) * .18));
}

.bio-core[data-state="speaking"] .microfluidic-veins path {
  stroke-dasharray: 36 72;
  animation-duration: 5.8s;
  stroke: rgba(18,184,163, calc(.18 + var(--voice-low) * .22));
}

.bio-core[data-state="listening"] .bio-membrane {
  animation-duration: 5.5s;
}

.bio-core[data-state="uploading"] .scan-ring,
.bio-core[data-state="readingReport"] .scan-ring {
  opacity: 1;
  animation: scanRing 2.6s linear infinite;
}

.bio-core[data-state="uploading"] .bio-membrane::after,
.bio-core[data-state="readingReport"] .bio-membrane::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  height: 2px;
  top: 12%;
  background: linear-gradient(90deg, transparent, rgba(18,184,163,.42), rgba(255,255,255,.76), transparent);
  filter: blur(.5px);
  animation: reportScan 2.2s ease-in-out infinite;
}

.bio-core[data-state="readingReport"] .report-fields {
  opacity: 1;
}

.bio-core[data-state="success"] .success-ripple {
  inset: 16%;
  opacity: 1;
}

.bio-core[data-state="error"] .bio-membrane,
.bio-core[data-state="error"] .holo-ring {
  border-color: rgba(191,94,58,.2);
  stroke: rgba(191,94,58,.3);
}

.agent-status-card {
  gap: 6px;
}

.agent-status-chip {
  min-height: 36px;
  padding: 0 15px;
  background: rgba(255,255,255,.66);
  border-color: rgba(255,255,255,.78);
  box-shadow: 0 14px 42px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.9);
}

.orb-copy {
  max-width: 480px;
}

.orb-copy h2 {
  font-size: clamp(25px, 2.35vw, 36px);
}

.orb-copy p:last-child {
  max-width: 440px;
  margin: 8px auto 0;
}

.advisor-workspace {
  border-radius: 30px;
  border-color: rgba(255,255,255,.72);
  background:
    linear-gradient(135deg, rgba(255,255,255,.74), rgba(255,255,255,.48)),
    radial-gradient(circle at 100% 0, rgba(18,184,163,.11), transparent 22rem),
    radial-gradient(circle at 2% 100%, rgba(200,181,138,.12), transparent 18rem);
  box-shadow: 0 30px 96px rgba(15,23,42,.13), inset 0 1px 0 rgba(255,255,255,.95);
}

.advisor-workspace::before {
  background:
    linear-gradient(132deg, rgba(255,255,255,.7), transparent 34%, rgba(18,184,163,.06)),
    linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
}

.workspace-head h1 {
  font-size: clamp(38px, 3.65vw, 54px);
  letter-spacing: 0;
}

.workspace-head h1 span {
  color: #0b7f77;
  font-weight: 520;
}

.workspace-mark {
  width: 44px;
  height: 44px;
  color: rgba(8,122,114,.68);
  background: rgba(255,255,255,.48);
  border-color: rgba(12,126,116,.12);
}

.value-line {
  max-width: 760px;
  color: #0b746e;
  font-size: clamp(17px, 1.48vw, 21px);
}

.advisor-input {
  border-width: 1px;
  border-color: rgba(12,126,116,.15);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.66)),
    radial-gradient(circle at 8% 0, rgba(18,184,163,.08), transparent 16rem);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.94), 0 18px 48px rgba(15,23,42,.06);
}

.advisor-input:focus-within {
  border-color: rgba(18,184,163,.34);
  box-shadow:
    0 0 0 1px rgba(18,184,163,.08),
    0 0 34px rgba(18,184,163,.16),
    inset 0 1px 0 rgba(255,255,255,.96);
}

.voice-panel {
  border-radius: 18px;
  border-color: rgba(12,126,116,.12);
  background: rgba(255,255,255,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.voice-panel[data-voice-state="idle"] .voice-panel__actions,
.voice-panel[data-voice-state="idle"] .voice-panel__actions button {
  display: none;
}

.voice-caption {
  margin-top: 8px;
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 11px;
  border: 1px solid rgba(12,126,116,.12);
  border-radius: 999px;
  color: var(--fs-ink-soft);
  background: rgba(255,255,255,.54);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76);
  font-size: 12.5px;
  line-height: 1.35;
}

.voice-caption[hidden] {
  display: none;
}

.voice-caption__label {
  flex: 0 0 auto;
  color: var(--fs-teal-deep);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

#voice-caption-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prompt-grid {
  gap: 7px;
}

.topic {
  min-height: 34px;
  padding-inline: 12px;
  border-color: rgba(12,126,116,.12);
  background: rgba(255,255,255,.52);
  font-size: 12.8px;
}

.capability-section {
  min-height: 80px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.56);
  border-radius: 22px;
  background: rgba(255,255,255,.3);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.62);
}

.section-head h2 {
  font-size: 17px;
}

.section-head p {
  font-size: 10px;
  color: rgba(8,122,114,.68);
}

.capability-card {
  min-height: 66px;
  padding: 9px 11px;
  display: grid;
  align-content: start;
  border-color: rgba(12,126,116,.1);
  border-radius: 16px;
  background: rgba(255,255,255,.48);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.68);
}

.capability-card span {
  color: rgba(8,122,114,.64);
  font-size: 10px;
}

.capability-card h3 {
  margin: 5px 0 2px;
  font-size: 13.5px;
}

.capability-card p {
  color: rgba(46,56,72,.72);
  font-size: 11.5px;
}

.boundary-card {
  background: rgba(255,255,255,.38);
  border-color: rgba(255,255,255,.58);
}

.boundary-content {
  color: rgba(46,56,72,.78);
}

.site-footer {
  color: rgba(111,123,134,.86);
}

@keyframes bioAuraBreath {
  0%, 100% { opacity: .64; transform: scale(.985); }
  50% { opacity: .96; transform: scale(1.018); }
}

@keyframes bioMembraneLife {
  0%, 100% { border-radius: 44% 56% 51% 49% / 48% 43% 57% 52%; transform: scale(1); }
  46% { border-radius: 48% 52% 44% 56% / 54% 46% 54% 46%; transform: scale(1.01); }
}

@keyframes bioPearlSweep {
  0%, 62%, 100% { transform: translateX(-60%) rotate(-8deg); opacity: 0; }
  72% { opacity: .52; }
  86% { transform: translateX(52%) rotate(-8deg); opacity: 0; }
}

@keyframes nucleusBreath {
  0%, 100% { transform: scale(.98); opacity: .78; }
  38% { transform: scale(1.075); opacity: 1; }
  54% { transform: scale(1.025); opacity: .86; }
  72% { transform: scale(1.095); opacity: .96; }
}

@keyframes filamentDrift {
  0%, 100% { stroke-dashoffset: 0; opacity: .32; }
  50% { stroke-dashoffset: -58; opacity: .68; }
}

@keyframes resonanceCoreLife {
  0%, 100% {
    filter: saturate(1) brightness(1);
    border-radius: 48% 52% 54% 46% / 42% 40% 60% 58%;
  }
  34% {
    filter: saturate(1.08) brightness(calc(1 + var(--voice-energy) * .12));
    border-radius: 42% 58% 48% 52% / 50% 44% 56% 50%;
  }
  62% {
    filter: saturate(1.02) brightness(1.04);
    border-radius: 54% 46% 51% 49% / 45% 55% 45% 55%;
  }
}

@keyframes resonanceSpineFlow {
  0%, 100% {
    opacity: .58;
    transform: scaleY(calc(var(--voice-resonance-spine) * .92));
    filter: blur(.15px);
  }
  45% {
    opacity: .92;
    transform: scaleY(calc(var(--voice-resonance-spine) * 1.05));
    filter: blur(0);
  }
  68% {
    opacity: .68;
    transform: scaleY(calc(var(--voice-resonance-spine) * .98));
  }
}

@keyframes medicalNodeIdle {
  0%, 76%, 100% { opacity: .42; transform: translate3d(0,0,0) scale(.96); }
  7% { opacity: .88; transform: translate3d(0,-1px,0) scale(1.04); }
  12% { opacity: .55; transform: translate3d(0,0,0) scale(.98); }
}

@keyframes nodePulse {
  0%, 100% { opacity: .38; transform: scale(.88); }
  50% { opacity: .95; transform: scale(1.12); }
}

@keyframes microflow {
  0%, 100% { stroke-dashoffset: 0; opacity: .24; }
  50% { stroke-dashoffset: -96; opacity: .68; }
}

@keyframes holoDriftA {
  0%, 100% { transform: rotate(-16deg) scale(1); }
  50% { transform: rotate(-9deg) scale(1.015); }
}

@keyframes holoDriftB {
  0%, 100% { transform: rotate(28deg) scale(.995); }
  50% { transform: rotate(18deg) scale(1.012); }
}

@keyframes holoDriftC {
  0%, 100% { transform: rotate(62deg) scale(1); }
  50% { transform: rotate(70deg) scale(1.008); }
}

@keyframes holoDriftD {
  0%, 100% { transform: rotate(-58deg); }
  50% { transform: rotate(-67deg); }
}

@keyframes voiceWavePath {
  0%, 100% { transform: scale(.96); opacity: .45; }
  50% { transform: scale(1.04); opacity: .95; }
}

@keyframes livingParticle {
  0%, 100% { opacity: .26; transform: translate3d(0,0,0) scale(.78); }
  42% { opacity: .95; transform: translate3d(6px,-9px,0) scale(1.05); }
  72% { opacity: .46; transform: translate3d(-5px,5px,0) scale(.88); }
}

@keyframes reportScan {
  0% { top: 13%; opacity: 0; }
  15%, 78% { opacity: .82; }
  100% { top: 84%; opacity: 0; }
}

@keyframes voiceOnsetPulse {
  0% { opacity: .7; transform: scale(.98); }
  44% { opacity: 1; transform: scale(1.045); }
  100% { opacity: .72; transform: scale(1); }
}

@keyframes voicePulseRing {
  0% { opacity: .72; transform: scale(.78); }
  100% { opacity: 0; transform: scale(1.32); }
}

@keyframes voiceParticleBurst {
  0% { opacity: .84; transform: translate3d(0,0,0) scale(.9); }
  55% { opacity: 1; transform: translate3d(10px,-8px,0) scale(1.2); }
  100% { opacity: .42; transform: translate3d(0,0,0) scale(.9); }
}

@media (max-height: 880px) and (min-width: 901px) {
  :root {
    --orb-size: clamp(470px, 37vw, 610px);
    --orb-core: clamp(285px, 23vw, 382px);
    --footer-h: 28px;
  }

  .orb-wrap {
    width: min(var(--orb-size), 62dvh);
  }

  .orb-copy p:last-child {
    display: none;
  }

  .advisor-workspace {
    padding: 17px 23px;
  }

  .voice-caption {
    min-height: 30px;
    padding-block: 5px;
  }
}

@media (max-width: 900px) {
  :root {
    --header-h: calc(64px + env(safe-area-inset-top, 0px));
    --footer-h: 0px;
    --orb-size: clamp(184px, 24vh, 228px);
    --orb-core: clamp(128px, 17.5vh, 168px);
  }

  html,
  body {
    overflow: hidden;
    max-width: 100%;
  }

  body {
    background:
      radial-gradient(circle at 50% 8%, rgba(18,184,163,.15), transparent 16rem),
      radial-gradient(circle at 85% 34%, rgba(200,181,138,.12), transparent 16rem),
      linear-gradient(180deg, #fbfaf6 0%, #f4f2ec 100%);
  }

  .site-header {
    width: min(100% - 18px, 720px);
    height: var(--header-h);
    padding-top: max(7px, env(safe-area-inset-top, 0px));
  }

  .site-header::before {
    inset: 7px -4px 7px;
  }

  .brand img {
    width: min(40vw, 156px);
    max-width: 156px;
  }

  .menu-button {
    width: 48px;
    height: 48px;
  }

  .page-shell {
    width: min(100% - 18px, 720px);
    height: calc(100dvh - var(--header-h) - 72px - env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - var(--header-h) - 72px - env(safe-area-inset-bottom, 0px));
    margin-top: 3px;
    display: block;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 0 10px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .page-shell::-webkit-scrollbar {
    display: none;
  }

  .advisor-hero {
    height: auto;
    min-height: 0;
    display: block;
    overflow: visible;
    max-width: 100%;
    width: 100%;
  }

  .orb-column {
    height: auto;
    min-height: 0;
    padding: 0;
    gap: 4px;
  }

  .orb-column::before {
    width: 290px;
    height: 290px;
    max-width: 88vw;
    max-height: 32vh;
    filter: blur(24px);
  }

  .orb-wrap {
    width: min(var(--orb-size), 62vw);
  }

  .agent-status-card {
    gap: 2px;
  }

  .agent-status-chip {
    min-height: 30px;
    padding: 0 11px;
    font-size: 11.8px;
  }

  #ambient-hint {
    max-width: min(330px, 92vw);
    min-height: 15px;
    font-size: 11px;
    line-height: 1.25;
  }

  .advisor-workspace {
    margin-top: 4px;
    padding: 13px;
    border-radius: 24px;
    overflow: hidden;
    max-width: 100%;
    width: 100%;
  }

  .workspace-head {
    align-items: start;
    gap: 10px;
    min-width: 0;
  }

  .workspace-head > div {
    min-width: 0;
  }

  .eyebrow {
    margin-bottom: 5px;
    font-size: 10px;
  }

  .workspace-head h1 {
    font-size: clamp(38px, 10.2vw, 44px);
    line-height: .98;
  }

  .advisor-title {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.25;
  }

  .advisor-title span {
    padding: 1px 7px;
    font-size: 10px;
  }

  .workspace-mark {
    width: 52px;
    height: 52px;
    font-size: 13px;
  }

  .value-line {
    margin-top: 8px;
    font-size: 14.5px;
    line-height: 1.42;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .advisor-note {
    display: none;
  }

  .consultation-console {
    margin-top: 8px;
    max-width: 100%;
    overflow: hidden;
    width: 100%;
  }

  .advisor-input {
    padding: 10px;
    border-radius: 20px;
    max-width: 100%;
    overflow: hidden;
    width: 100%;
  }

  #q {
    min-height: 94px;
    max-height: 118px;
    padding: 7px 5px 9px;
    font-size: 15px;
    line-height: 1.45;
  }

  .input-actions {
    position: relative;
    display: block;
    padding-right: 108px;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }

  .right-actions {
    position: absolute;
    right: 0;
    bottom: 0;
    gap: 8px;
    flex: 0 0 auto;
    min-width: 0;
  }

  .glass-button,
  .icon-button,
  .send-button {
    min-height: 46px;
  }

  .glass-button {
    flex: 1 1 auto;
    min-width: 46px;
    padding-inline: 12px;
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .glass-button span:last-child {
    display: inline;
    font-size: 12px;
    min-width: 0;
    white-space: nowrap;
  }

  .icon-button,
  .send-button {
    width: 46px;
    flex: 0 0 46px;
    padding: 0;
    justify-content: center;
  }

  .send-button span {
    display: none;
  }

  .voice-panel {
    margin-top: 7px;
    padding: 7px 10px;
    border-radius: 16px;
  }

  .voice-panel[data-voice-state="idle"] {
    gap: 2px;
  }

  .voice-panel[data-voice-state="idle"] .auto-tts-toggle {
    display: none;
  }

  .voice-panel[data-voice-state="idle"] #voice-transcript {
    display: none;
  }

  .voice-panel__head {
    min-height: 28px;
    flex-direction: row;
    align-items: center;
    font-size: 12px;
  }

  .voice-panel__actions {
    display: flex;
    max-width: 56%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .voice-panel__actions::-webkit-scrollbar {
    display: none;
  }

  .voice-panel__actions button {
    min-height: 36px;
    flex: 0 0 auto;
    padding-inline: 10px;
    font-size: 12px;
  }

  #voice-transcript {
    min-height: 16px;
    font-size: 11.5px;
    line-height: 1.35;
  }

  .auto-tts-toggle {
    min-height: 34px;
    font-size: 11.5px;
  }

  .voice-caption {
    margin-top: 7px;
    min-height: 32px;
    padding: 6px 10px;
    font-size: 11.8px;
  }

  .bio-core[data-state="speaking"] .vocal-aperture {
    opacity: .78;
  }

  .voice-pulse-field {
    inset: 20%;
  }

  .prompt-grid {
    margin-top: 9px;
    max-height: none;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding: 0 1px 4px;
    scrollbar-width: none;
  }

  .topic {
    flex: 0 0 auto;
    min-height: 38px;
    max-width: 78vw;
    padding: 0 13px;
    white-space: nowrap;
    scroll-snap-align: start;
    font-size: 12.5px;
  }

  .answer-zone {
    max-height: 186px;
    overflow: auto;
  }

  .answer-card {
    padding: 15px;
  }

  .capability-section {
    display: block;
    min-height: 68px;
    margin-top: 7px;
    padding: 7px 0 7px 8px;
    overflow: hidden;
  }

  .section-head {
    display: none;
  }

  .capability-grid {
    margin: 0;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 8px;
    padding: 0 8px 3px 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .capability-grid::-webkit-scrollbar {
    display: none;
  }

  .capability-card {
    flex: 0 0 152px;
    min-height: 54px;
    padding: 8px 10px;
    scroll-snap-align: start;
  }

  .capability-card h3 {
    font-size: 12.8px;
  }

  .capability-card p {
    display: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 10.8px;
  }

  .boundary-card {
    margin-top: 6px;
    min-height: 34px;
  }

  .boundary-content {
    min-height: 34px;
    padding: 0 11px;
  }

  .boundary-content p {
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mobile-bottom-cta {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    z-index: 20;
    width: min(100% - 24px, 720px);
    min-height: 56px;
    margin: 8px auto calc(8px + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 430px) {
  .page-shell,
  .site-header {
    width: min(100% - 16px, 430px);
  }

  .workspace-mark {
    width: 50px;
    height: 50px;
  }

  .workspace-head h1 {
    font-size: clamp(37px, 10vw, 42px);
  }
}

@media (max-width: 390px), (max-height: 760px) and (max-width: 900px) {
  :root {
    --orb-size: clamp(172px, 23vh, 206px);
    --orb-core: clamp(122px, 17vh, 154px);
  }

  .page-shell {
    height: calc(100dvh - var(--header-h) - 88px - env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - var(--header-h) - 88px - env(safe-area-inset-bottom, 0px));
  }

  .agent-status-chip {
    min-height: 28px;
  }

  #ambient-hint {
    display: none;
  }

  .advisor-workspace {
    padding: 11px;
  }

  .workspace-head h1 {
    font-size: 36px;
  }

  .workspace-mark {
    display: grid;
    width: 46px;
    height: 46px;
  }

  .value-line {
    font-size: 13px;
  }

  #q {
    min-height: 92px;
  }

  .auto-tts-toggle {
    display: inline-flex;
  }

  .capability-section {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bio-core,
  .bio-core *,
  .bio-core *::before,
  .bio-core *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }

  .vocal-aperture {
    transform: translateZ(0) !important;
  }
}

body.motion-reduced .bio-core,
body.motion-reduced .bio-core *,
body.motion-reduced .bio-core *::before,
body.motion-reduced .bio-core *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
}

/* Final mobile AI Console pass: single-screen, no-scroll, no-mouth resonance. */
.floating-handoff-pill {
  position: fixed;
  right: max(14px, env(safe-area-inset-right, 0px) + 14px);
  bottom: max(14px, env(safe-area-inset-bottom, 0px) + 14px);
  z-index: 60;
  min-height: 42px;
  display: none;
  align-items: center;
  gap: 7px;
  padding: 0 14px;
  border: 1px solid rgba(200,181,138,.46);
  border-radius: 999px;
  color: #075d57;
  background:
    linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,255,255,.46)),
    radial-gradient(circle at 100% 0, rgba(200,181,138,.18), transparent 8rem);
  box-shadow: 0 14px 42px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.86);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  backdrop-filter: blur(18px) saturate(1.16);
  -webkit-backdrop-filter: blur(18px) saturate(1.16);
}

.floating-handoff-pill span {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #087a72;
  background: rgba(255,255,255,.56);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.floating-handoff-pill:hover,
.floating-handoff-pill:focus-visible {
  border-color: rgba(200,181,138,.68);
  box-shadow: 0 18px 52px rgba(15,23,42,.14), 0 0 28px rgba(200,181,138,.18), inset 0 1px 0 rgba(255,255,255,.9);
}

@media (max-width: 900px) {
  html,
  body {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    overflow: hidden !important;
    overscroll-behavior: none;
    touch-action: manipulation;
  }

  body {
    min-height: 100dvh;
    background:
      radial-gradient(circle at 50% 18%, rgba(18,184,163,.18), transparent 12rem),
      radial-gradient(circle at 54% 38%, rgba(255,255,255,.78), transparent 14rem),
      radial-gradient(circle at 87% 72%, rgba(200,181,138,.12), transparent 13rem),
      linear-gradient(180deg, #fbfaf6 0%, #f1f5ef 100%);
  }

  body::before {
    content: "";
    position: fixed;
    inset: var(--header-h) 0 0;
    z-index: -1;
    pointer-events: none;
    background:
      repeating-linear-gradient(92deg, rgba(8,122,114,.035) 0 1px, transparent 1px 26px),
      repeating-linear-gradient(0deg, rgba(255,255,255,.24) 0 1px, transparent 1px 30px);
    mask-image: radial-gradient(circle at 50% 30%, #000 0 42%, transparent 76%);
    opacity: .5;
  }

  .site-header {
    width: min(calc(100vw - 18px), 720px);
    height: var(--header-h);
    padding-top: max(6px, env(safe-area-inset-top, 0px));
  }

  .site-header::before {
    inset: 7px -4px 7px;
    border-radius: 999px;
    background:
      linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.58)),
      radial-gradient(circle at 6% 50%, rgba(18,184,163,.1), transparent 9rem);
  }

  .brand img {
    width: min(39vw, 148px);
  }

  .site-nav > a:not(.nav-cta) {
    display: none;
  }

  .site-nav .nav-cta {
    display: none;
  }

  .menu-button {
    width: 46px;
    height: 46px;
    background: rgba(255,255,255,.58);
  }

  .page-shell {
    width: min(calc(100vw - 18px), 720px);
    height: calc(100dvh - var(--header-h) - 8px);
    max-height: calc(100dvh - var(--header-h) - 8px);
    margin-top: 2px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) 58px;
    gap: 6px;
    padding: 0;
    overflow: hidden !important;
  }

  .advisor-hero {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: clamp(246px, 35dvh, 330px) minmax(0, 1fr);
    gap: 6px;
    overflow: hidden;
  }

  .orb-column {
    position: relative;
    min-height: 0;
    height: 100%;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 4px;
    padding: 0;
    overflow: hidden;
    border-radius: 28px;
    background:
      radial-gradient(circle at 50% 50%, rgba(255,255,255,.72), transparent 16%),
      radial-gradient(circle at 50% 46%, rgba(18,184,163,.18), transparent 43%),
      radial-gradient(circle at 34% 62%, rgba(200,181,138,.11), transparent 48%);
  }

  .orb-column::before {
    width: min(390px, 96vw);
    height: min(390px, 96vw);
    max-width: none;
    max-height: none;
    opacity: 1;
    filter: blur(20px);
    background:
      radial-gradient(circle at 50% 48%, rgba(255,255,255,.86), transparent 16%),
      radial-gradient(circle at 46% 50%, rgba(18,184,163,.22), transparent 43%),
      radial-gradient(circle at 63% 34%, rgba(200,181,138,.17), transparent 54%);
  }

  .orb-column::after {
    inset: 5% -12% 0;
    opacity: .72;
    filter: blur(13px);
    background:
      radial-gradient(circle at 50% 45%, rgba(255,255,255,.38), transparent 22%),
      conic-gradient(from 160deg at 50% 52%, transparent, rgba(18,184,163,.11), transparent, rgba(200,181,138,.08), transparent);
  }

  .orb-wrap {
    width: clamp(222px, 30dvh, 286px);
    max-width: 82vw;
    transform: translateY(-2px);
  }

  .bio-core {
    filter: drop-shadow(0 28px 88px rgba(18,184,163,.26));
  }

  .bio-aura {
    inset: -2%;
    opacity: .98;
    filter: blur(18px);
  }

  .holographic-rings {
    transform: scale(calc(var(--voice-ring-scale) * 1.05));
  }

  .bio-core-body {
    width: calc(var(--orb-core) * .82);
  }

  .knowledge-filaments path {
    stroke-width: 1.05;
    opacity: calc(var(--voice-filament-opacity) + .1);
  }

  .microfluidic-veins path {
    stroke-width: 1.7;
  }

  .report-fields {
    opacity: .34;
  }

  .report-fields i {
    font-size: 8px;
    padding: 1px 4px;
  }

  .vocal-aperture,
  .resonance-core {
    width: calc(var(--voice-aperture-x) * .82);
    height: calc(var(--voice-aperture-y) * 1.06);
    border-radius: 50% 50% 46% 54% / 38% 42% 58% 62%;
    background:
      radial-gradient(ellipse at 50% 45%, rgba(255,255,255,.98) 0 10%, rgba(229,252,247,.58) 18%, transparent 38%),
      conic-gradient(from 24deg, rgba(18,184,163,.1), rgba(255,255,255,.35), rgba(200,181,138,.18), rgba(18,184,163,.1)),
      radial-gradient(ellipse at center, rgba(6,49,47,.16), rgba(18,184,163,.13) 52%, rgba(255,255,255,.2) 74%, transparent 84%);
  }

  .bio-core[data-state="speaking"] .vocal-aperture,
  .bio-core[data-state="speaking"] .resonance-core {
    opacity: calc(.62 + var(--voice-aperture) * .16);
  }

  .agent-status-card {
    position: absolute;
    left: 50%;
    bottom: 11px;
    translate: -50% 0;
    z-index: 4;
    gap: 4px;
  }

  .agent-status-chip {
    min-height: 30px;
    padding: 0 13px;
    border-radius: 999px;
    font-size: 12px;
    background: rgba(255,255,255,.68);
    backdrop-filter: blur(16px) saturate(1.12);
    -webkit-backdrop-filter: blur(16px) saturate(1.12);
  }

  #ambient-hint {
    max-width: 280px;
    min-height: 13px;
    color: rgba(15,23,42,.52);
    font-size: 10px;
    letter-spacing: .11em;
    white-space: nowrap;
  }

  .orb-copy {
    display: none;
  }

  .advisor-workspace {
    min-height: 0;
    max-height: 100%;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    padding: 12px;
    border-radius: 26px;
    overflow: hidden;
    background:
      linear-gradient(145deg, rgba(255,255,255,.78), rgba(255,255,255,.46)),
      radial-gradient(circle at 100% 0, rgba(18,184,163,.11), transparent 12rem);
    box-shadow: 0 20px 64px rgba(15,23,42,.1), inset 0 1px 0 rgba(255,255,255,.9);
    backdrop-filter: blur(18px) saturate(1.1);
    -webkit-backdrop-filter: blur(18px) saturate(1.1);
  }

  .workspace-head {
    align-items: center;
    gap: 8px;
  }

  .eyebrow {
    margin-bottom: 3px;
    font-size: 9.5px;
    letter-spacing: .13em;
  }

  .workspace-head h1 {
    font-size: clamp(34px, 9.3vw, 40px);
    line-height: .96;
    white-space: nowrap;
  }

  .advisor-title {
    margin-top: 4px;
    font-size: 11.5px;
    line-height: 1.2;
    white-space: nowrap;
  }

  .advisor-title span {
    padding: 1px 6px;
    font-size: 9px;
  }

  .workspace-mark {
    width: 34px;
    height: 34px;
    font-size: 11px;
    color: rgba(8,122,114,.46);
    background: rgba(255,255,255,.36);
    border-color: rgba(12,126,116,.09);
  }

  .value-line {
    margin-top: 7px;
    color: #087a72;
    font-size: clamp(12.8px, 3.35vw, 14.2px);
    line-height: 1.34;
    font-weight: 650;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .advisor-note {
    display: none;
  }

  .consultation-console {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(92px, 108px) auto auto minmax(0, 1fr);
    gap: 6px;
    margin-top: 8px;
    overflow: hidden;
  }

  .advisor-input {
    min-height: 92px;
    max-height: 108px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) 38px;
    padding: 8px;
    border-radius: 22px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.58)),
      radial-gradient(circle at 8% 0, rgba(18,184,163,.08), transparent 9rem);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 12px 34px rgba(15,23,42,.06);
  }

  #q {
    min-height: 0;
    height: auto !important;
    max-height: none;
    padding: 5px 6px;
    font-size: 14px;
    line-height: 1.36;
    overflow: hidden;
  }

  #q::placeholder {
    color: rgba(46,56,72,.68);
  }

  .input-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 7px;
    padding-right: 0;
  }

  .right-actions {
    position: static;
    display: flex;
    gap: 7px;
  }

  .glass-button,
  .icon-button,
  .send-button {
    min-height: 38px;
  }

  .glass-button {
    width: 100%;
    min-width: 0;
    padding-inline: 10px;
  }

  .glass-button span:last-child {
    display: inline;
    font-size: 11.5px;
  }

  .button-icon {
    width: 22px;
    height: 22px;
  }

  .icon-button,
  .send-button {
    width: 40px;
    flex-basis: 40px;
  }

  .icon-button svg,
  .send-button svg {
    width: 20px;
    height: 20px;
  }

  .voice-panel {
    min-height: 32px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    margin-top: 0;
    padding: 5px 8px;
    border-radius: 999px;
    background:
      linear-gradient(135deg, rgba(255,255,255,.62), rgba(255,255,255,.36)),
      radial-gradient(circle at 0 50%, rgba(18,184,163,.08), transparent 8rem);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.78);
  }

  .voice-panel__head {
    min-height: 26px;
    display: contents;
    font-size: 11.5px;
  }

  #voice-status {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #voice-transcript {
    display: none;
  }

  .auto-tts-toggle {
    min-height: 28px;
    padding-inline: 8px;
    font-size: 0;
  }

  .auto-tts-toggle .switch-track {
    margin: 0;
  }

  .voice-panel__actions {
    max-width: 156px;
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .voice-panel__actions button {
    min-height: 30px;
    padding-inline: 9px;
    font-size: 11px;
  }

  .voice-caption {
    min-height: 30px;
    margin-top: 0;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    background:
      linear-gradient(135deg, rgba(255,255,255,.62), rgba(255,255,255,.38)),
      radial-gradient(circle at 10% 50%, rgba(18,184,163,.1), transparent 8rem);
    backdrop-filter: blur(16px) saturate(1.12);
    -webkit-backdrop-filter: blur(16px) saturate(1.12);
  }

  .voice-caption__label {
    font-size: 9px;
  }

  .prompt-grid {
    min-height: 34px;
    max-height: 36px;
    margin-top: 0;
    padding: 0 1px 2px;
    gap: 7px;
    flex-wrap: nowrap;
    overflow: hidden;
  }

  .topic {
    min-height: 32px;
    max-width: none;
    flex: 1 1 0;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 11px;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  .topic:nth-child(n+4) {
    display: none;
  }

  .answer-zone {
    max-height: 100%;
    overflow: hidden;
  }

  .answer-card {
    max-height: 100%;
    padding: 11px;
    overflow: auto;
    scrollbar-width: none;
  }

  .answer-card::-webkit-scrollbar {
    display: none;
  }

  .boundary-card,
  .site-footer,
  .mobile-bottom-cta {
    display: none !important;
  }

  .capability-section {
    min-height: 0;
    height: 58px;
    margin: 0;
    padding: 5px 58px 5px 5px;
    border-radius: 20px;
    overflow: hidden;
    background:
      linear-gradient(135deg, rgba(255,255,255,.58), rgba(255,255,255,.28)),
      radial-gradient(circle at 0 50%, rgba(18,184,163,.08), transparent 10rem);
    border-color: rgba(255,255,255,.6);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.74), 0 10px 34px rgba(15,23,42,.07);
    backdrop-filter: blur(16px) saturate(1.12);
    -webkit-backdrop-filter: blur(16px) saturate(1.12);
  }

  .section-head {
    display: none;
  }

  .capability-grid {
    height: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
    overflow: hidden;
  }

  .capability-card {
    min-height: 0;
    height: 48px;
    min-width: 0;
    padding: 5px 3px 4px;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    border-radius: 15px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.56), rgba(255,255,255,.3)),
      radial-gradient(circle at 50% 0, rgba(18,184,163,.08), transparent 3rem);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
  }

  .capability-card span {
    display: none;
  }

  .capability-card h3 {
    margin: 0;
    color: #087a72;
    font-size: 10.5px;
    line-height: 1.1;
    font-weight: 750;
  }

  .capability-card p {
    margin: 2px 0 0;
    font-size: 9px;
    line-height: 1.1;
    color: rgba(46,56,72,.58);
  }

  .floating-handoff-pill {
    display: inline-flex;
    min-height: 40px;
    padding-inline: 11px;
    font-size: 12px;
  }

  .motion-toggle {
    display: none;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 900px) {
  :root {
    --header-h: calc(56px + env(safe-area-inset-top, 0px));
    --orb-size: clamp(200px, 29dvh, 248px);
    --orb-core: clamp(132px, 19dvh, 166px);
  }

  .advisor-hero {
    grid-template-rows: clamp(218px, 33dvh, 278px) minmax(0, 1fr);
  }

  .brand img {
    width: min(38vw, 136px);
  }

  .workspace-head h1 {
    font-size: clamp(32px, 8.7vw, 36px);
  }

  .advisor-title {
    font-size: 10.5px;
  }

  .workspace-mark {
    display: none;
  }

  .value-line {
    font-size: 12.5px;
    -webkit-line-clamp: 1;
  }

  .consultation-console {
    grid-template-rows: minmax(86px, 98px) auto auto minmax(0, 1fr);
    gap: 5px;
    margin-top: 6px;
  }

  .advisor-input {
    min-height: 86px;
    max-height: 98px;
    grid-template-rows: minmax(0, 1fr) 36px;
  }

  #q {
    font-size: 13.5px;
    line-height: 1.28;
  }

  .glass-button,
  .icon-button,
  .send-button {
    min-height: 36px;
  }

  .icon-button,
  .send-button {
    width: 38px;
    flex-basis: 38px;
  }

  .voice-panel {
    min-height: 30px;
    padding-block: 4px;
  }

  .voice-caption {
    min-height: 28px;
  }

  .topic {
    min-height: 30px;
    font-size: 10.5px;
  }

  .capability-section {
    height: 54px;
  }

  .capability-card {
    height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) and (max-width: 900px) {
  .bio-core[data-state="speaking"] .resonance-core,
  .bio-core[data-state="speaking"] .vocal-aperture,
  .bio-core[data-state="speaking"] .voice-pulse-field,
  .bio-core[data-state="speaking"] .living-particles i {
    animation: none !important;
    transform: none !important;
  }
}

/* Voice-reactive touch core v1: fixed console, SVG core, local conversation scroll. */
:root {
  --header-h: 56px;
  --fs-bg: #f7f4ee;
  --fs-teal: #3fa89b;
  --fs-teal-deep: #147c73;
  --fs-gold: #c8963e;
}

.site-header {
  min-height: 56px;
  height: 56px;
  padding: 4px 0;
}

.site-header::before {
  inset: 6px -10px 6px;
}

.brand {
  min-height: 42px;
}

.brand img {
  width: clamp(128px, 11.2vw, 158px);
}

.site-nav a {
  min-height: 36px;
  padding-inline: 12px;
}

.page-shell {
  height: calc(100dvh - 56px - 34px - 10px);
  max-height: calc(100dvh - 56px - 34px - 10px);
}

.orb-wrap {
  position: relative;
}

.intelligence-orb[role="button"] {
  cursor: grab;
  touch-action: none;
}

.intelligence-orb[role="button"]:active {
  cursor: grabbing;
}

.bio-core {
  --touch-x: 50%;
  --touch-y: 50%;
  --orb-touch-tilt-x: 0deg;
  --orb-touch-tilt-y: 0deg;
  transform: rotateX(var(--orb-touch-tilt-x)) rotateY(var(--orb-touch-tilt-y));
  transition: transform .22s ease, filter .22s ease;
}

.bio-core.is-touching {
  filter: drop-shadow(0 54px 160px rgba(63,168,155,.32));
}

.bio-core.is-touching::after {
  content: "";
  position: absolute;
  inset: 4%;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle at var(--touch-x) var(--touch-y), rgba(255,255,255,.86), rgba(63,168,155,.2) 9%, transparent 24%);
  mix-blend-mode: screen;
  opacity: .9;
}

.bio-core.is-orb-press .bio-membrane {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 30px 24px 62px rgba(255,255,255,.48),
    inset -26px -24px 62px rgba(20,124,115,.18),
    0 42px 130px rgba(200,150,62,.18);
}

.bio-svg-core {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
  z-index: 3;
}

.bio-svg-core .svg-orbit {
  transform-origin: 260px 260px;
}

.bio-svg-core .svg-orbit ellipse {
  fill: none;
  stroke: rgba(63,168,155,.22);
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
}

.bio-svg-core .orbit-1 { transform: rotate(0deg); }
.bio-svg-core .orbit-2 { transform: rotate(35deg); }
.bio-svg-core .orbit-3 { transform: rotate(-25deg); }

.bio-svg-core .orbit-2 ellipse {
  stroke: rgba(200,150,62,.24);
}

.bio-svg-core .orbit-3 ellipse {
  stroke: rgba(255,255,255,.38);
}

.bio-svg-core .svg-orbit circle {
  fill: #c8963e;
  filter: drop-shadow(0 0 7px rgba(200,150,62,.72)) drop-shadow(0 0 11px rgba(255,255,255,.62));
}

.plasma-field {
  fill: rgba(93,207,192,.2);
  mix-blend-mode: screen;
}

.grid-shell {
  transform-origin: 260px 260px;
  animation: gridShellRotate 32s linear infinite;
}

.grid-shell ellipse,
.grid-shell path {
  fill: none;
  stroke: rgba(63,168,155,.32);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.crystal-shell {
  fill: rgba(255,255,255,.03);
  stroke: url(#crystalMembraneStroke);
  stroke-width: 1.5;
}

.shell-highlight {
  fill: none;
  stroke: rgba(255,255,255,.46);
  stroke-width: 4;
  stroke-linecap: round;
  filter: blur(2px);
}

.nucleus-glow-svg {
  fill: url(#lifeNucleusGradient);
  animation: svgNucleusPulse 4s ease-in-out infinite;
}

.nucleus-dot-svg {
  fill: #fff;
  filter: drop-shadow(0 0 12px rgba(191,237,227,.95));
}

.orb-system-label {
  position: absolute;
  z-index: 8;
  width: 150px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  column-gap: 7px;
  color: #6b9994;
  font-size: 10px;
  letter-spacing: .04em;
  pointer-events: auto;
  transition: opacity .2s ease, transform .2s ease, color .2s ease;
}

.orb-system-label span {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(107,153,148,.72));
  position: relative;
}

.orb-system-label span::after {
  content: "";
  position: absolute;
  right: -2px;
  top: -2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #3fa89b;
  box-shadow: 0 0 8px rgba(63,168,155,.5);
}

.orb-system-label strong,
.orb-system-label em {
  grid-column: 2;
  display: block;
  font-style: normal;
  line-height: 1.15;
}

.orb-system-label em {
  margin-top: 3px;
  font-size: 12px;
  color: rgba(46,56,72,.62);
}

.orb-system-label:hover {
  color: #147c73;
  transform: translateY(-2px);
}

.label-left { left: max(-124px, -8vw); }
.label-right { right: max(-124px, -8vw); }
.label-a { top: 22%; }
.label-b { top: 42%; }
.label-c { top: 62%; }
.label-d { top: 25%; }
.label-e { top: 45%; }
.label-f { top: 65%; }
.label-right { grid-template-columns: minmax(0, 1fr) 30px; text-align: right; }
.label-right span { grid-column: 2; grid-row: 1 / span 2; background: linear-gradient(90deg, rgba(107,153,148,.72), transparent); }
.label-right span::after { left: -2px; right: auto; }
.label-right strong,
.label-right em { grid-column: 1; }

.answer-zone {
  min-height: 0;
  overflow: hidden;
}

.conversation-stream {
  height: 100%;
  max-height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 4px 2px 8px;
  scrollbar-width: thin;
  scrollbar-color: rgba(63,168,155,.35) transparent;
}

.console-empty {
  min-height: 100%;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  color: rgba(46,56,72,.62);
  text-align: center;
}

.console-empty span {
  padding: 4px 10px;
  border-radius: 999px;
  color: #147c73;
  background: rgba(63,168,155,.08);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}

.message-bubble {
  max-width: min(620px, 92%);
  animation: messageRise .24s ease both;
}

.message-user {
  align-self: flex-end;
  padding: 11px 14px;
  border-radius: 18px 18px 6px 18px;
  color: #0f4c47;
  background: linear-gradient(135deg, rgba(221,248,242,.9), rgba(255,255,255,.68));
  border: 1px solid rgba(63,168,155,.18);
}

.message-user p {
  margin: 0;
}

.message-xiaobu {
  align-self: flex-start;
  width: min(100%, 680px);
  padding: 13px;
  border: 1px solid rgba(14,129,120,.13);
  border-radius: 20px 20px 20px 7px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.86), rgba(255,255,255,.62)),
    radial-gradient(circle at 0 0, rgba(63,168,155,.08), transparent 11rem);
  box-shadow: 0 14px 42px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.9);
}

.message-xiaobu .answer-grid {
  grid-template-columns: minmax(0, 1fr);
}

.message-xiaobu .col-side {
  display: none;
}

.typing-card {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #5a7a75;
}

.typing-card i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3fa89b;
  animation: typingDot 1.1s ease-in-out infinite;
}

.typing-card i:nth-child(3) { animation-delay: .14s; }
.typing-card i:nth-child(4) { animation-delay: .28s; }

.voice-panel {
  position: relative;
}

.broadcast-wave {
  height: 24px;
  min-width: 160px;
  display: none;
  align-items: center;
  gap: 2px;
}

.broadcast-wave i {
  width: 3px;
  height: calc(5px + (var(--bar, 1) * 2px));
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(63,168,155,.88), rgba(63,168,155,.24));
  animation: broadcastBar 1.1s ease-in-out infinite;
}

.broadcast-wave i:nth-child(3n) { animation-delay: -.22s; }
.broadcast-wave i:nth-child(4n) { animation-delay: -.48s; }
.broadcast-wave i:nth-child(5n) { animation-delay: -.72s; }
.voice-panel[data-voice-state="speaking"] .broadcast-wave,
.voice-panel[data-voice-state="paused"] .broadcast-wave,
.voice-panel[data-voice-state="preparingSpeech"] .broadcast-wave {
  display: flex;
}

.voice-panel[data-voice-state="paused"] .broadcast-wave i {
  animation-play-state: paused;
  opacity: .42;
}

.voice-time {
  display: none;
  color: rgba(46,56,72,.62);
  font-size: 11px;
  white-space: nowrap;
}

.voice-panel[data-voice-state="speaking"] .voice-time,
.voice-panel[data-voice-state="paused"] .voice-time,
.voice-panel[data-voice-state="preparingSpeech"] .voice-time {
  display: inline-block;
}

.voice-scrubber-wrap {
  position: relative;
  display: none;
  grid-column: 1 / -1;
  min-height: 18px;
  align-items: center;
  padding: 0 2px;
}

.voice-panel[data-voice-state="speaking"] .voice-scrubber-wrap,
.voice-panel[data-voice-state="paused"] .voice-scrubber-wrap {
  display: grid;
}

.voice-scrubber {
  --voice-progress: 0%;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 18px;
  background: transparent;
  touch-action: pan-x;
}

.voice-scrubber::-webkit-slider-runnable-track {
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3fa89b 0 var(--voice-progress), rgba(63,168,155,.18) var(--voice-progress) 100%);
}

.voice-scrubber::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: 12px;
  height: 12px;
  margin-top: -5px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #3fa89b;
  box-shadow: 0 0 0 4px rgba(63,168,155,.12);
}

.voice-scrubber::-moz-range-track {
  height: 2px;
  border-radius: 999px;
  background: rgba(63,168,155,.18);
}

.voice-scrubber::-moz-range-progress {
  height: 2px;
  background: #3fa89b;
}

.voice-scrubber::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #3fa89b;
}

.voice-scrub-bubble {
  position: absolute;
  right: 0;
  top: -17px;
  display: none;
  padding: 2px 6px;
  border-radius: 999px;
  color: #147c73;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(63,168,155,.14);
  font-size: 10px;
}

.voice-scrubber-wrap:focus-within .voice-scrub-bubble,
.voice-scrubber-wrap:hover .voice-scrub-bubble {
  display: block;
}

.official-site-cards,
.footer-site-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.official-site-cards a,
.footer-site-cards a {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid rgba(14,129,120,.13);
  border-radius: 16px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 10px 30px rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.8);
  transition: transform .18s ease, box-shadow .18s ease;
}

.official-site-cards a::after,
.footer-site-cards a::after {
  content: "›";
  color: #147c73;
  transition: transform .18s ease;
}

.official-site-cards a:hover,
.footer-site-cards a:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 44px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.9);
}

.official-site-cards a:hover::after,
.footer-site-cards a:hover::after {
  transform: translateX(4px);
}

.official-site-cards span,
.footer-site-cards a:first-child::before {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #147c73;
  background: rgba(63,168,155,.09);
}

.official-site-cards strong,
.official-site-cards em {
  min-width: 0;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.official-site-cards strong {
  color: #0f172a;
  font-size: 12px;
}

.official-site-cards em {
  margin-top: 1px;
  color: rgba(46,56,72,.58);
  font-size: 10px;
  font-style: normal;
}

.footer-site-cards {
  min-width: 490px;
}

.footer-site-cards a {
  min-height: 54px;
  padding: 0 14px;
  font-size: 12px;
}

@keyframes gridShellRotate {
  from { transform: rotateY(0deg) rotateZ(-7deg); }
  to { transform: rotateY(360deg) rotateZ(-7deg); }
}

@keyframes svgNucleusPulse {
  0%, 100% { transform: scale(1); opacity: .85; }
  50% { transform: scale(1.08); opacity: 1; }
}

@keyframes messageRise {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes typingDot {
  0%, 100% { opacity: .3; transform: translateY(0); }
  45% { opacity: 1; transform: translateY(-4px); }
}

@keyframes broadcastBar {
  0%, 100% { height: 5px; opacity: .36; }
  38% { height: 23px; opacity: .95; }
  68% { height: 12px; opacity: .58; }
}

@media (min-width: 901px) {
  .consultation-console {
    display: grid;
    grid-template-rows: minmax(152px, 1fr) auto auto auto auto;
    max-height: 100%;
  }

  .answer-zone {
    min-height: 152px;
  }

  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 90px;
    border-radius: 22px;
    padding: 12px 14px 10px;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__head,
  .voice-panel[data-voice-state="paused"] .voice-panel__head,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 188px auto auto;
    gap: 12px;
    align-items: center;
  }

  .official-site-cards {
    display: none;
  }
}

@media (max-width: 1200px) and (min-width: 901px) {
  .orb-system-label {
    display: none;
  }
}

@media (max-width: 900px) {
  :root {
    --header-h: calc(48px + env(safe-area-inset-top, 0px));
    --footer-h: 0px;
    --orb-size: clamp(216px, 30dvh, 292px);
    --orb-core: clamp(150px, 21dvh, 200px);
  }

  html,
  body {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: 100vw !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none !important;
  }

  .site-header {
    width: 100vw;
    height: var(--header-h);
    min-height: var(--header-h);
    padding: env(safe-area-inset-top, 0px) 10px 4px;
  }

  .site-header::before {
    inset: max(4px, env(safe-area-inset-top, 0px)) 10px 4px;
  }

  .brand img {
    width: 38px;
    height: 38px;
    object-fit: cover;
    object-position: left center;
    border-radius: 50%;
  }

  .page-shell {
    width: 100vw;
    height: calc(100dvh - var(--header-h));
    max-height: calc(100dvh - var(--header-h));
    margin: 0;
    padding: 0 10px max(8px, env(safe-area-inset-bottom, 0px));
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    overflow: hidden !important;
  }

  .advisor-hero {
    height: 100%;
    grid-template-rows: clamp(252px, 40dvh, 356px) minmax(0, 1fr);
    gap: 6px;
  }

  .orb-column {
    border-radius: 26px;
  }

  .orb-wrap {
    width: min(82vw, calc(100dvh * .34));
    transform: none;
  }

  .orb-system-label,
  .orb-copy,
  .prompt-grid,
  .capability-section,
  .floating-handoff-pill {
    display: none !important;
  }

  .advisor-workspace {
    min-height: 0;
    padding: 10px;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 0;
    border-radius: 24px;
  }

  .workspace-head h1 {
    font-size: clamp(34px, 9.4vw, 40px);
  }

  .workspace-mark {
    width: 28px;
    height: 28px;
    opacity: .56;
  }

  .value-line {
    margin-top: 5px;
    -webkit-line-clamp: 1;
  }

  .consultation-console {
    min-height: 0;
    height: 100%;
    display: grid;
    grid-template-rows: minmax(0, 1fr) minmax(88px, 108px) auto auto;
    gap: 6px;
    margin-top: 8px;
    overflow: hidden;
  }

  .answer-zone {
    grid-row: 1;
    min-height: 0;
    border-radius: 18px;
    background: rgba(255,255,255,.24);
    border: 1px solid rgba(255,255,255,.42);
  }

  .conversation-stream {
    padding: 8px;
  }

  .console-empty {
    min-height: 84px;
    font-size: 12px;
  }

  .message-bubble {
    max-width: 94%;
    font-size: 12.5px;
  }

  .message-xiaobu {
    padding: 10px;
  }

  .message-xiaobu .q-head,
  .message-xiaobu .feedback-row,
  .message-xiaobu .footer-note {
    display: none;
  }

  .message-xiaobu .section {
    margin-top: 8px;
  }

  .message-xiaobu .section p,
  .message-xiaobu .section li {
    font-size: 12.5px;
    line-height: 1.55;
  }

  .advisor-input {
    grid-row: 2;
    min-height: 88px;
    max-height: 108px;
  }

  .voice-panel {
    grid-row: 3;
    min-height: 32px;
    padding: 5px 8px;
  }

  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 72px;
    grid-template-columns: minmax(0, 1fr);
    border-radius: 18px;
    padding: 7px 9px 5px;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__head,
  .voice-panel[data-voice-state="paused"] .voice-panel__head,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
  }

  .broadcast-wave {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    height: 18px;
  }

  .broadcast-wave i {
    width: 2px;
  }

  .voice-time {
    font-size: 10px;
  }

  .voice-panel__actions {
    max-width: 134px;
  }

  .voice-panel__actions button {
    min-height: 28px;
    padding-inline: 8px;
  }

  .voice-scrubber-wrap {
    min-height: 14px;
  }

  .auto-tts-toggle {
    display: none;
  }

  .official-site-cards {
    grid-row: 4;
    height: 56px;
    gap: 6px;
  }

  .official-site-cards a {
    min-height: 54px;
    grid-template-columns: 26px minmax(0, 1fr) 10px;
    gap: 6px;
    padding: 7px 8px;
    border-radius: 16px;
  }

  .official-site-cards a:active {
    transform: scale(.97);
    box-shadow: inset 0 3px 12px rgba(15,23,42,.08);
  }

  .official-site-cards span {
    width: 26px;
    height: 26px;
  }

  .official-site-cards strong {
    font-size: 11px;
  }

  .official-site-cards em {
    font-size: 9px;
  }

  .site-footer,
  .boundary-card {
    display: none !important;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 900px) {
  .advisor-hero {
    grid-template-rows: clamp(224px, 37dvh, 302px) minmax(0, 1fr);
  }

  .workspace-head h1 {
    font-size: clamp(31px, 8.8vw, 36px);
  }

  .consultation-console {
    grid-template-rows: minmax(0, 1fr) minmax(82px, 96px) auto 52px;
    gap: 5px;
  }

  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 66px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .grid-shell,
  .nucleus-glow-svg,
  .broadcast-wave i,
  .bio-svg-core .svg-orbit circle,
  .typing-card i {
    animation: none !important;
  }

  .bio-core.is-touching::after {
    display: none;
  }
}

/* 2026-05-24 XiaoBu orb/output/banner iteration */
.official-home-banner {
  width: min(720px, calc(100% - 24px));
  min-height: 34px;
  margin: 0 auto 8px;
  padding: 4px 8px 4px 12px;
  display: grid;
  grid-template-columns: auto minmax(128px, 1fr) minmax(128px, 1fr);
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(14, 129, 120, .12);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,255,255,.78), rgba(246,253,251,.52));
  box-shadow: 0 12px 34px rgba(16,24,39,.055), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(18px) saturate(142%);
  -webkit-backdrop-filter: blur(18px) saturate(142%);
  color: #12202b;
  position: relative;
  z-index: 2;
}

.official-home-banner__label {
  color: rgba(14,129,120,.78);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  white-space: nowrap;
}

.official-home-banner a {
  min-height: 28px;
  padding: 0 10px 0 5px;
  display: grid;
  grid-template-columns: 22px auto 1fr;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  color: inherit;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.56);
  background: rgba(255,255,255,.44);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.official-home-banner a:hover,
.official-home-banner a:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(24,191,168,.26);
  background: rgba(255,255,255,.78);
  box-shadow: 0 10px 24px rgba(16,24,39,.07);
}

.official-home-banner a span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #0e8178;
  background: rgba(221,248,242,.72);
  box-shadow: inset 0 0 0 1px rgba(14,129,120,.12);
  font-weight: 800;
}

.official-home-banner strong {
  font-size: 12px;
  white-space: nowrap;
}

.official-home-banner em {
  min-width: 0;
  overflow: hidden;
  color: rgba(48,57,74,.64);
  font-size: 10px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agent-output-drawer {
  min-height: 36px;
  overflow: hidden;
  border: 1px solid rgba(14,129,120,.13);
  border-radius: 17px;
  background: linear-gradient(135deg, rgba(255,255,255,.66), rgba(246,253,251,.36));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}

.agent-output-toggle {
  width: 100%;
  min-height: 36px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 0;
  background: transparent;
  color: #142233;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.agent-output-toggle span {
  font-size: 12px;
  font-weight: 800;
}

.agent-output-toggle em {
  min-width: 0;
  overflow: hidden;
  color: rgba(48,57,74,.62);
  font-size: 11px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agent-output-toggle::after {
  content: "⌄";
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #0e8178;
  background: rgba(221,248,242,.72);
  transition: transform .18s ease;
}

.agent-output-toggle[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.agent-output-content {
  max-height: 158px;
  overflow: auto;
  padding: 10px 12px 12px;
  border-top: 1px solid rgba(14,129,120,.1);
  background: rgba(255,255,255,.34);
}

.agent-output-content[hidden] {
  display: none !important;
}

#agent-output-text {
  margin: 0;
  white-space: pre-wrap;
  color: #273244;
  font-family: inherit;
  font-size: 12.5px;
  line-height: 1.62;
}

.bio-core {
  transform-style: preserve-3d;
  perspective: 1100px;
  transform: rotateX(var(--orb-touch-tilt-x)) rotateY(var(--orb-touch-tilt-y)) translateZ(0);
  transition: transform .18s cubic-bezier(.2,.8,.2,1), filter .22s ease;
  will-change: transform;
}

.bio-core.is-orb-dragging {
  transition: filter .18s ease;
}

.bio-core.is-orb-dragging .bio-core-body {
  filter: saturate(1.08) contrast(1.04);
}

.bio-core.is-touching {
  cursor: grabbing;
}

.bio-core .bio-membrane {
  animation-duration: 10.8s !important;
}

.bio-core .bio-aura {
  animation-duration: 9.7s !important;
}

.bio-core .nucleus-outer {
  animation-duration: 7.4s !important;
}

.bio-core .nucleus-inner {
  animation-duration: 5.9s !important;
  animation-direction: alternate-reverse;
}

.bio-core .ring-a { animation-duration: 29s !important; }
.bio-core .ring-b { animation-duration: 37s !important; }
.bio-core .ring-c { animation-duration: 43s !important; }
.bio-core .ring-d { animation-duration: 31s !important; }

.bio-core .knowledge-filaments path:nth-child(2n) { animation-duration: 11.4s !important; }
.bio-core .knowledge-filaments path:nth-child(3n) { animation-duration: 15.8s !important; }
.bio-core .microfluidic-veins path:nth-child(2n) { animation-duration: 13.2s !important; }
.bio-core .microfluidic-veins path:nth-child(3n) { animation-duration: 18.6s !important; }
.bio-core .living-particles i:nth-child(4n) { animation-duration: 6.8s !important; }
.bio-core .living-particles i:nth-child(4n + 1) { animation-duration: 9.1s !important; }
.bio-core .living-particles i:nth-child(4n + 2) { animation-duration: 12.4s !important; }
.bio-core .living-particles i:nth-child(4n + 3) { animation-duration: 15.2s !important; }

.bio-core::before {
  content: "";
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  pointer-events: none;
  background:
    radial-gradient(circle at 32% 22%, rgba(255,255,255,.78), transparent 17%),
    radial-gradient(circle at 58% 56%, rgba(255,244,216,.28), transparent 22%),
    linear-gradient(132deg, rgba(255,255,255,.26), transparent 32%, rgba(42,196,179,.14) 62%, transparent 78%);
  mix-blend-mode: screen;
  opacity: .68;
  transform: translateZ(22px);
  filter: blur(.2px);
  z-index: 8;
}

.bio-core.is-orb-press::before,
.bio-core.is-orb-dragging::before {
  opacity: .88;
}

@media (min-width: 901px) {
  .page-shell {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: stretch;
  }

  .advisor-hero {
    min-height: 0;
  }

  .consultation-console {
    grid-template-rows: minmax(132px, 1fr) auto auto auto auto auto !important;
  }
}

@media (max-width: 900px) {
  .page-shell {
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 6px;
  }

  .official-home-banner {
    width: min(100%, 540px);
    min-height: 32px;
    margin: 0 auto;
    padding: 3px 5px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 5px;
  }

  .official-home-banner__label {
    display: none;
  }

  .official-home-banner a {
    min-height: 28px;
    padding: 0 6px 0 4px;
    grid-template-columns: 20px minmax(0, auto);
    gap: 5px;
  }

  .official-home-banner a span {
    width: 20px;
    height: 20px;
    font-size: 11px;
  }

  .official-home-banner strong {
    min-width: 0;
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
  }

  .official-home-banner em {
    display: none;
  }

  .advisor-hero {
    min-height: 0;
    grid-template-rows: clamp(232px, 36dvh, 328px) minmax(0, 1fr) !important;
  }

  .consultation-console {
    grid-template-rows: minmax(0, 1fr) minmax(86px, 106px) auto auto !important;
    gap: 5px;
  }

  .agent-output-drawer {
    min-height: 32px;
    border-radius: 15px;
  }

  .agent-output-toggle {
    min-height: 32px;
    padding: 0 9px;
  }

  .agent-output-content {
    max-height: 92px;
    padding: 8px 9px;
  }

  #agent-output-text {
    font-size: 11.5px;
    line-height: 1.5;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 900px) {
  .advisor-hero {
    grid-template-rows: clamp(214px, 34dvh, 292px) minmax(0, 1fr) !important;
  }

  .consultation-console {
    grid-template-rows: minmax(0, 1fr) minmax(80px, 96px) auto auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bio-core,
  .bio-core * {
    transition-duration: .01ms !important;
  }
}

/* 2026-05-24 mobile input stability and compact header links */
.site-header {
  display: grid;
  grid-template-columns: auto minmax(180px, 420px) auto;
  align-items: center;
}

.site-header .official-home-banner {
  width: min(100%, 420px);
  min-height: 30px;
  margin: 0 auto;
  padding: 3px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 4px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88);
}

.site-header .official-home-banner__label {
  display: none;
}

.site-header .official-home-banner a {
  min-height: 24px;
  padding: 0 8px 0 4px;
  grid-template-columns: 18px minmax(0, auto);
  gap: 5px;
  background: rgba(255,255,255,.42);
}

.site-header .official-home-banner a span {
  width: 18px;
  height: 18px;
  font-size: 10px;
}

.site-header .official-home-banner strong {
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
}

.site-header .official-home-banner em {
  display: none;
}

.page-shell {
  height: calc(100dvh - 56px - 10px) !important;
  max-height: calc(100dvh - 56px - 10px) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

@media (max-width: 900px) {
  html,
  body {
    touch-action: manipulation !important;
  }

  input,
  textarea,
  button,
  a {
    touch-action: manipulation;
  }

  .intelligence-orb[role="button"] {
    touch-action: none;
  }

  .site-header {
    grid-template-columns: 42px minmax(0, 1fr) 46px;
    gap: 7px;
  }

  .page-shell {
    height: calc(100dvh - var(--header-h)) !important;
    max-height: calc(100dvh - var(--header-h)) !important;
  }

  .site-header .official-home-banner {
    min-width: 0;
    min-height: 28px;
    padding: 2px;
  }

  .site-header .official-home-banner a {
    min-height: 24px;
    padding-inline: 3px 5px;
  }

  .site-header .official-home-banner strong {
    font-size: 10.5px;
  }

  .advisor-input textarea,
  #q {
    height: auto !important;
    min-height: 38px;
    max-height: 44px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.input-active .bio-core .knowledge-filaments path,
  body.input-active .bio-core .microfluidic-veins path,
  body.input-active .bio-core .living-particles i,
  body.input-active .bio-core .holo-ring {
    animation-play-state: paused !important;
  }

  body.input-active .bio-core {
    filter: drop-shadow(0 30px 90px rgba(63,168,155,.18));
  }
}

@media (max-width: 390px) {
  .site-header {
    grid-template-columns: 40px minmax(0, 1fr) 44px;
    gap: 5px;
  }

  .site-header .official-home-banner a span {
    display: none;
  }

  .site-header .official-home-banner a {
    grid-template-columns: minmax(0, auto);
    justify-content: center;
    padding-inline: 4px;
  }
}

/* 2026-05-24 compact voice playback layout */
.voice-panel,
.voice-panel *,
.voice-caption,
.agent-output-drawer {
  min-width: 0;
}

.voice-panel {
  max-width: 100%;
  overflow: hidden;
}

@media (max-width: 900px) {
  .consultation-console {
    grid-template-rows: minmax(0, 1fr) minmax(80px, 98px) auto auto !important;
  }

  .voice-panel {
    width: 100%;
    max-width: 100%;
    min-height: 28px;
    padding: 4px 8px;
    border-radius: 15px;
    overflow: hidden;
  }

  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 54px !important;
    max-height: 58px;
    padding: 5px 8px 4px !important;
    display: grid;
    grid-template-rows: 26px 14px;
    gap: 3px;
    overflow: hidden;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__head,
  .voice-panel[data-voice-state="paused"] .voice-panel__head,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: center;
    gap: 5px !important;
    min-width: 0;
    overflow: hidden;
  }

  .voice-panel[data-voice-state="speaking"] #voice-status,
  .voice-panel[data-voice-state="paused"] #voice-status,
  .voice-panel[data-voice-state="preparingSpeech"] #voice-status {
    min-width: 0;
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .voice-panel[data-voice-state="speaking"] #voice-transcript,
  .voice-panel[data-voice-state="paused"] #voice-transcript,
  .voice-panel[data-voice-state="preparingSpeech"] #voice-transcript {
    display: none;
  }

  .broadcast-wave {
    width: min(38vw, 142px) !important;
    min-width: 0 !important;
    max-width: 142px;
    height: 16px !important;
    overflow: hidden;
    gap: 1.5px;
  }

  .broadcast-wave i {
    width: 2px !important;
  }

  .broadcast-wave i:nth-child(n+25) {
    display: none;
  }

  .voice-time {
    font-size: 10px !important;
  }

  .voice-panel__actions {
    max-width: 108px !important;
    overflow: hidden;
    justify-content: flex-end;
    gap: 4px;
  }

  .voice-panel__actions button {
    min-width: 0;
    min-height: 24px !important;
    max-width: 52px;
    padding: 0 7px !important;
    overflow: hidden;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .voice-scrubber-wrap {
    min-height: 12px !important;
    height: 12px;
    overflow: hidden;
  }

  .voice-scrubber {
    height: 12px;
  }

  .voice-caption {
    min-height: 28px;
    max-height: 32px;
    overflow: hidden;
  }

  #voice-caption-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .agent-output-content {
    max-height: 126px;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 900px) {
  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 50px !important;
    max-height: 54px;
  }

  .broadcast-wave {
    width: min(34vw, 118px) !important;
  }

  .agent-output-content {
    max-height: 112px;
  }
}

/* 2026-05-24 voice-first flow and larger text output */
@media (max-width: 900px) {
  .consultation-console {
    grid-template-rows: minmax(0, 1fr) minmax(64px, 78px) auto auto !important;
  }

  .advisor-input {
    min-height: 64px !important;
    max-height: 78px !important;
    padding: 8px 10px 7px !important;
    grid-template-rows: minmax(26px, 32px) 31px !important;
    gap: 5px !important;
    overflow: hidden;
  }

  .advisor-input textarea,
  #q {
    min-height: 28px !important;
    max-height: 32px !important;
    padding-block: 3px !important;
    line-height: 1.35;
  }

  .input-actions {
    min-height: 31px !important;
    height: 31px;
  }

  .glass-button,
  .icon-button,
  .send-button {
    min-height: 31px !important;
  }

  .icon-button,
  .send-button {
    width: 34px !important;
    flex-basis: 34px !important;
  }

  .glass-button {
    padding-inline: 9px !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__head,
  .voice-panel[data-voice-state="paused"] .voice-panel__head,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__head {
    grid-template-columns: minmax(42px, .5fr) minmax(98px, 138px) auto minmax(52px, auto) !important;
  }

  .broadcast-wave {
    display: flex;
    width: min(35vw, 138px) !important;
    max-width: 138px;
  }

  .broadcast-wave i:nth-child(n+29) {
    display: none;
  }

  .voice-panel__actions {
    max-width: 70px !important;
  }

  .voice-panel__actions button {
    max-width: 62px;
  }

  .agent-output-content {
    max-height: min(25dvh, 188px) !important;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 900px) {
  .consultation-console {
    grid-template-rows: minmax(0, 1fr) minmax(60px, 72px) auto auto !important;
  }

  .advisor-input {
    min-height: 60px !important;
    max-height: 72px !important;
    grid-template-rows: minmax(24px, 30px) 30px !important;
  }

  .broadcast-wave {
    width: min(33vw, 126px) !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__head,
  .voice-panel[data-voice-state="paused"] .voice-panel__head,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__head {
    grid-template-columns: minmax(36px, .42fr) minmax(86px, 126px) auto minmax(48px, auto) !important;
  }

  .agent-output-content {
    max-height: min(24dvh, 168px) !important;
  }
}

/* 2026-05-24 mobile input row and restored audio waveform */
@media (max-width: 900px) {
  body[data-consultation-state="idle"] .answer-zone {
    display: none !important;
  }

  body[data-consultation-state="idle"] .consultation-console {
    grid-template-rows: auto auto auto !important;
    align-content: start;
  }

  body[data-consultation-state="answered"] .consultation-console,
  body[data-consultation-state="loading"] .consultation-console {
    grid-template-rows: minmax(0, 1fr) auto auto auto !important;
  }

  .advisor-input {
    min-height: 54px !important;
    max-height: 58px !important;
    padding: 7px 9px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 1fr !important;
    gap: 7px !important;
    align-items: center;
    border-radius: 22px !important;
  }

  .advisor-input textarea,
  #q {
    grid-column: 1;
    width: 100%;
    min-width: 0;
    min-height: 38px !important;
    max-height: 40px !important;
    padding: 7px 4px 7px 10px !important;
    border-radius: 16px;
    background: transparent;
    overflow-y: auto;
  }

  .input-actions {
    grid-column: 2;
    width: auto;
    min-width: 0;
    height: 40px !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    border: 0;
    padding: 0 !important;
    background: transparent;
  }

  .upload-report {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center;
    border-radius: 50% !important;
  }

  .upload-report span:not(.button-icon) {
    display: none !important;
  }

  .upload-report .button-icon {
    margin: 0 !important;
  }

  .right-actions {
    width: auto;
    display: inline-flex;
    gap: 6px;
  }

  .icon-button,
  .send-button {
    width: 40px !important;
    min-width: 40px !important;
    flex-basis: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  .send-button span {
    display: none !important;
  }

  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 68px !important;
    max-height: 74px !important;
    padding: 6px 9px 5px !important;
    grid-template-rows: 44px 12px !important;
    gap: 3px !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__head,
  .voice-panel[data-voice-state="paused"] .voice-panel__head,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__head {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    grid-template-rows: 20px 21px !important;
    gap: 2px 6px !important;
  }

  .voice-panel[data-voice-state="speaking"] #voice-status,
  .voice-panel[data-voice-state="paused"] #voice-status,
  .voice-panel[data-voice-state="preparingSpeech"] #voice-status {
    grid-column: 1;
    grid-row: 1;
  }

  .voice-panel[data-voice-state="speaking"] .voice-time,
  .voice-panel[data-voice-state="paused"] .voice-time,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-time {
    grid-column: 2;
    grid-row: 1;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__actions,
  .voice-panel[data-voice-state="paused"] .voice-panel__actions,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__actions {
    grid-column: 3;
    grid-row: 1;
    max-width: 118px !important;
  }

  .voice-panel[data-voice-state="speaking"] .broadcast-wave,
  .voice-panel[data-voice-state="paused"] .broadcast-wave,
  .voice-panel[data-voice-state="preparingSpeech"] .broadcast-wave {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100% !important;
    max-width: none !important;
    height: 21px !important;
    display: flex !important;
    gap: 2px;
  }

  .broadcast-wave i {
    width: 2px !important;
  }

  .broadcast-wave i:nth-child(n+29) {
    display: inline-block;
  }

  .voice-scrubber-wrap {
    grid-row: 2;
    height: 12px !important;
  }

  .agent-output-content {
    max-height: min(28dvh, 208px) !important;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 900px) {
  .advisor-input {
    min-height: 52px !important;
    max-height: 56px !important;
    padding: 6px 8px !important;
    gap: 5px !important;
  }

  .upload-report,
  .icon-button,
  .send-button {
    width: 38px !important;
    min-width: 38px !important;
    flex-basis: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  .input-actions,
  #q {
    height: 38px !important;
  }

  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 64px !important;
    max-height: 70px !important;
  }
}

/* 2026-05-24 fixed output panel without collapse */
.agent-output-drawer {
  display: grid;
  grid-template-rows: 32px minmax(0, 1fr);
}

.agent-output-toggle {
  cursor: default;
}

.agent-output-toggle::after {
  display: none !important;
}

.agent-output-content,
.agent-output-content[hidden] {
  display: block !important;
}

@media (max-width: 900px) {
  body[data-consultation-state="idle"] .consultation-console {
    grid-template-rows: auto auto minmax(118px, 138px) !important;
  }

  body[data-consultation-state="answered"] .consultation-console,
  body[data-consultation-state="loading"] .consultation-console {
    grid-template-rows: minmax(0, 1fr) auto auto minmax(118px, 150px) !important;
  }

  .agent-output-drawer {
    min-height: 118px !important;
    max-height: 150px !important;
    overflow: hidden;
  }

  .agent-output-toggle {
    min-height: 32px !important;
    padding-inline: 10px !important;
  }

  .agent-output-content {
    max-height: none !important;
    height: 100%;
    padding: 8px 10px 10px !important;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 900px) {
  body[data-consultation-state="idle"] .consultation-console {
    grid-template-rows: auto auto minmax(104px, 126px) !important;
  }

  body[data-consultation-state="answered"] .consultation-console,
  body[data-consultation-state="loading"] .consultation-console {
    grid-template-rows: minmax(0, 1fr) auto auto minmax(104px, 132px) !important;
  }

  .agent-output-drawer {
    min-height: 104px !important;
    max-height: 132px !important;
  }
}

/* 2026-05-24 stable mobile reference layout */
@media (max-width: 900px) {
  .advisor-hero {
    grid-template-rows: clamp(334px, 41dvh, 390px) minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  .orb-column {
    min-height: 0;
    padding-bottom: 4px !important;
  }

  .orb-wrap {
    margin-top: -4px;
  }

  .advisor-workspace {
    padding: 11px 10px 10px !important;
    gap: 0 !important;
    border-radius: 25px 25px 20px 20px !important;
  }

  .workspace-head {
    margin-bottom: 0 !important;
  }

  .workspace-head h1 {
    font-size: clamp(36px, 9.8vw, 42px) !important;
    line-height: .95 !important;
  }

  .advisor-title {
    margin-top: 3px !important;
  }

  .value-line {
    margin-top: 6px !important;
    margin-bottom: 8px !important;
    line-height: 1.25 !important;
  }

  .advisor-note {
    display: none !important;
  }

  .consultation-console,
  body[data-consultation-state="idle"] .consultation-console,
  body[data-consultation-state="answered"] .consultation-console,
  body[data-consultation-state="loading"] .consultation-console {
    height: auto !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    display: grid !important;
    grid-template-rows: minmax(92px, 108px) 58px 58px 30px minmax(126px, 152px) !important;
    gap: 6px !important;
    align-content: start !important;
    overflow: hidden !important;
  }

  .answer-zone,
  body[data-consultation-state="idle"] .answer-zone {
    display: block !important;
    grid-row: 1 !important;
    height: 100% !important;
    min-height: 92px !important;
    max-height: 108px !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.18) !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    pointer-events: none;
    overflow: hidden !important;
  }

  .answer-zone .conversation-stream {
    display: none !important;
  }

  .advisor-input {
    grid-row: 2 !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  .voice-panel {
    grid-row: 3 !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 58px !important;
    max-height: 58px !important;
    grid-template-rows: 38px 10px !important;
  }

  .voice-caption {
    grid-row: 4 !important;
    min-height: 30px !important;
    max-height: 30px !important;
  }

  .agent-output-drawer {
    grid-row: 5 !important;
    min-height: 126px !important;
    max-height: 152px !important;
  }

  .agent-output-content {
    max-height: none !important;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 900px) {
  .advisor-hero {
    grid-template-rows: clamp(310px, 38dvh, 350px) minmax(0, 1fr) !important;
  }

  .workspace-head h1 {
    font-size: clamp(34px, 9vw, 38px) !important;
  }

  .consultation-console,
  body[data-consultation-state="idle"] .consultation-console,
  body[data-consultation-state="answered"] .consultation-console,
  body[data-consultation-state="loading"] .consultation-console {
    grid-template-rows: minmax(78px, 92px) 54px 54px 28px minmax(108px, 132px) !important;
    gap: 5px !important;
  }

  .answer-zone,
  body[data-consultation-state="idle"] .answer-zone {
    min-height: 78px !important;
    max-height: 92px !important;
  }

  .advisor-input {
    min-height: 54px !important;
    max-height: 54px !important;
  }

  .voice-panel {
    min-height: 54px !important;
    max-height: 54px !important;
  }

  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 54px !important;
    max-height: 54px !important;
  }

  .voice-caption {
    min-height: 28px !important;
    max-height: 28px !important;
  }

  .agent-output-drawer {
    min-height: 108px !important;
    max-height: 132px !important;
  }
}

/* 2026-05-24 no middle blank mobile layout */
@media (max-width: 900px) {
  .answer-zone,
  body[data-consultation-state="idle"] .answer-zone,
  body[data-consultation-state="answered"] .answer-zone,
  body[data-consultation-state="loading"] .answer-zone {
    display: none !important;
  }

  .consultation-console,
  body[data-consultation-state="idle"] .consultation-console,
  body[data-consultation-state="answered"] .consultation-console,
  body[data-consultation-state="loading"] .consultation-console {
    height: auto !important;
    min-height: 0 !important;
    margin-top: 6px !important;
    display: grid !important;
    grid-template-rows: 58px 58px 30px minmax(168px, 1fr) !important;
    gap: 6px !important;
    align-content: start !important;
    overflow: hidden !important;
  }

  .advisor-input {
    grid-row: 1 !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  .voice-panel {
    grid-row: 2 !important;
    min-height: 58px !important;
    max-height: 58px !important;
  }

  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 58px !important;
    max-height: 58px !important;
    grid-template-rows: 38px 10px !important;
  }

  .voice-caption {
    grid-row: 3 !important;
    min-height: 30px !important;
    max-height: 30px !important;
  }

  .agent-output-drawer {
    grid-row: 4 !important;
    min-height: 168px !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  .agent-output-content {
    height: 100%;
    max-height: none !important;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 900px) {
  .consultation-console,
  body[data-consultation-state="idle"] .consultation-console,
  body[data-consultation-state="answered"] .consultation-console,
  body[data-consultation-state="loading"] .consultation-console {
    grid-template-rows: 54px 54px 28px minmax(148px, 1fr) !important;
    gap: 5px !important;
  }

  .advisor-input {
    min-height: 54px !important;
    max-height: 54px !important;
  }

  .voice-panel,
  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 54px !important;
    max-height: 54px !important;
  }

  .voice-caption {
    min-height: 28px !important;
    max-height: 28px !important;
  }

  .agent-output-drawer {
    min-height: 148px !important;
  }
}

/* 2026-05-24 compact hold-to-talk voice bar */
@media (max-width: 900px) {
  .consultation-console,
  body[data-consultation-state="idle"] .consultation-console,
  body[data-consultation-state="answered"] .consultation-console,
  body[data-consultation-state="loading"] .consultation-console {
    margin-top: 4px !important;
    grid-template-rows: 58px 42px minmax(196px, 1fr) !important;
    gap: 4px !important;
  }

  .voice-input {
    display: none !important;
  }

  .voice-panel {
    grid-row: 2 !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 5px 10px !important;
    border-radius: 14px !important;
    cursor: pointer;
    display: grid !important;
    grid-template-rows: 1fr !important;
    gap: 0 !important;
    touch-action: manipulation;
  }

  .voice-panel:focus-visible {
    outline: none;
    box-shadow: var(--fs-focus), 0 12px 28px rgba(14,129,120,.08);
  }

  .voice-panel__head,
  .voice-panel[data-voice-state="speaking"] .voice-panel__head,
  .voice-panel[data-voice-state="paused"] .voice-panel__head,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__head {
    height: 100%;
    min-height: 0;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto auto !important;
    grid-template-rows: 1fr !important;
    align-items: center;
    gap: 6px !important;
  }

  .voice-panel #voice-status,
  .voice-panel[data-voice-state="speaking"] #voice-status,
  .voice-panel[data-voice-state="paused"] #voice-status,
  .voice-panel[data-voice-state="preparingSpeech"] #voice-status {
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-width: 112px;
    overflow: hidden;
    color: var(--fs-ink-soft);
    font-size: 11px !important;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .voice-panel .broadcast-wave,
  .voice-panel[data-voice-state="speaking"] .broadcast-wave,
  .voice-panel[data-voice-state="paused"] .broadcast-wave,
  .voice-panel[data-voice-state="preparingSpeech"] .broadcast-wave {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 18px !important;
    display: flex !important;
    gap: 1.5px !important;
    opacity: .82;
  }

  .voice-panel .broadcast-wave i {
    width: 2px !important;
  }

  .voice-panel .voice-time,
  .voice-panel[data-voice-state="speaking"] .voice-time,
  .voice-panel[data-voice-state="paused"] .voice-time,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-time {
    grid-column: 3 !important;
    grid-row: 1 !important;
    display: inline-block;
    font-size: 9px !important;
  }

  .voice-panel[data-voice-state="idle"] .voice-time,
  .voice-panel[data-voice-state="listening"] .voice-time,
  .voice-panel[data-voice-state="transcribing"] .voice-time,
  .voice-panel[data-voice-state="transcribed"] .voice-time,
  .voice-panel[data-voice-state="error"] .voice-time {
    display: none !important;
  }

  .voice-panel .voice-panel__actions,
  .voice-panel[data-voice-state="speaking"] .voice-panel__actions,
  .voice-panel[data-voice-state="paused"] .voice-panel__actions,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__actions {
    grid-column: 4 !important;
    grid-row: 1 !important;
    max-width: 72px !important;
    gap: 3px !important;
  }

  .voice-panel .voice-panel__actions button {
    min-height: 24px !important;
    max-width: 64px !important;
    padding: 0 7px !important;
    font-size: 10px !important;
  }

  .voice-panel[data-voice-state="idle"] .voice-panel__actions,
  .voice-panel[data-voice-state="listening"] .voice-panel__actions,
  .voice-panel[data-voice-state="transcribing"] .voice-panel__actions,
  .voice-panel[data-voice-state="transcribed"] .voice-panel__actions,
  .voice-panel[data-voice-state="error"] .voice-panel__actions {
    display: none !important;
  }

  .voice-panel #voice-transcript,
  .voice-panel .auto-tts-toggle {
    display: none !important;
  }

  .voice-panel .voice-scrubber-wrap {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 2px;
    min-height: 7px !important;
    height: 7px !important;
  }

  .voice-panel .voice-scrubber {
    height: 7px !important;
  }

  .voice-caption {
    display: none !important;
  }

  .agent-output-drawer {
    grid-row: 3 !important;
    min-height: 196px !important;
  }
}

@media (max-width: 390px), (max-height: 780px) and (max-width: 900px) {
  .consultation-console,
  body[data-consultation-state="idle"] .consultation-console,
  body[data-consultation-state="answered"] .consultation-console,
  body[data-consultation-state="loading"] .consultation-console {
    grid-template-rows: 54px 38px minmax(174px, 1fr) !important;
    gap: 4px !important;
  }

  .voice-panel,
  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 4px 9px !important;
  }

  .agent-output-drawer {
    min-height: 174px !important;
  }
}

/* 2026-05-24 iOS hold-to-talk and continuous orb rings */
.voice-panel,
.voice-panel *,
.voice-panel::before,
.voice-panel::after {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.voice-panel {
  -webkit-tap-highlight-color: transparent;
}

.holographic-rings .holo-ring,
.bio-svg-core .svg-orbit ellipse,
.grid-shell ellipse,
.grid-shell path {
  stroke-dasharray: none !important;
  stroke-dashoffset: 0 !important;
}

.holographic-rings .holo-ring {
  stroke-linecap: round;
}

.holographic-rings .ring-a {
  stroke: rgba(8,122,114,.34) !important;
}

.holographic-rings .ring-b {
  stroke: rgba(183,151,84,.32) !important;
}

.holographic-rings .ring-c {
  stroke: rgba(62,143,167,.22) !important;
}

.holographic-rings .ring-d {
  stroke: rgba(255,255,255,.5) !important;
}

.holographic-rings .ring-wave {
  stroke-dasharray: none !important;
  opacity: 0;
}

.bio-core[data-state="listening"] .ring-wave,
.bio-core[data-state="speaking"] .ring-wave {
  opacity: .78;
}

.bio-core[data-state="typing"] .knowledge-filaments path,
.bio-core[data-state="promptSelected"] .knowledge-filaments path,
.bio-core[data-state="thinking"] .knowledge-filaments path,
.bio-core[data-state="answering"] .knowledge-filaments path,
.bio-core[data-state="speaking"] .knowledge-filaments path,
.bio-core[data-state="speaking"] .microfluidic-veins path {
  stroke-dasharray: none !important;
}

@media (max-width: 900px) {
  .voice-panel {
    touch-action: none !important;
  }
}

/* 2026-05-24 depth-sorted orb rings and circular voice core */
.holographic-rings {
  z-index: 3;
}

.holographic-rings--back {
  z-index: 2 !important;
  opacity: .46;
  filter: blur(.2px);
  -webkit-mask-image: linear-gradient(to bottom, #000 0 53%, transparent 55%);
  mask-image: linear-gradient(to bottom, #000 0 53%, transparent 55%);
}

.holographic-rings--front {
  z-index: 7 !important;
  opacity: .9;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0 42%, #000 49% 100%);
  mask-image: linear-gradient(to bottom, transparent 0 42%, #000 49% 100%);
}

.holographic-rings--back .holo-ring {
  stroke-width: .95;
}

.holographic-rings--front .holo-ring {
  stroke-width: 1.18;
}

.bio-membrane {
  z-index: 4;
}

.bio-core-body {
  z-index: 5;
}

.living-particles {
  z-index: 8;
}

.bio-core[data-state="speaking"] .grid-shell path {
  opacity: 0;
}

.bio-core[data-state="speaking"] .vocal-aperture,
.bio-core[data-state="speaking"] .resonance-core {
  width: calc(var(--orb-core) * .2) !important;
  height: calc(var(--orb-core) * .2) !important;
  border-radius: 50% !important;
  opacity: calc(.68 + var(--voice-aperture) * .2) !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.98) 0 10%, rgba(229,252,247,.72) 21%, rgba(18,184,163,.24) 48%, transparent 74%),
    conic-gradient(from 0deg, rgba(18,184,163,.18), rgba(255,255,255,.54), rgba(200,181,138,.24), rgba(18,184,163,.18));
  box-shadow:
    inset 0 0 18px rgba(255,255,255,.58),
    0 0 calc(18px + var(--voice-energy) * 34px) rgba(18,184,163,.34),
    0 0 calc(34px + var(--voice-high) * 42px) rgba(255,255,255,.36);
  transform: scale(calc(.92 + var(--voice-energy) * .2), calc(.92 + var(--voice-low) * .16)) !important;
  animation: circularVoiceCore 2.6s ease-in-out infinite !important;
}

.bio-core[data-state="speaking"] .resonance-spine {
  opacity: 0 !important;
}

.bio-core[data-state="speaking"] .resonance-shell {
  border-radius: 50% !important;
  opacity: calc(.22 + var(--voice-aperture) * .34);
}

.bio-core[data-state="speaking"] .shell-outer {
  width: 190%;
  height: 190%;
  transform: scale(calc(.82 + var(--voice-low) * .28)) !important;
}

.bio-core[data-state="speaking"] .shell-mid {
  width: 142%;
  height: 142%;
  transform: scale(calc(.84 + var(--voice-mid) * .22)) !important;
}

.bio-core[data-state="speaking"] .shell-inner {
  width: 92%;
  height: 92%;
  transform: scale(calc(.9 + var(--voice-high) * .18)) !important;
}

.bio-core[data-state="speaking"] .resonance-seed {
  width: 13px;
  height: 13px;
  transform: scale(calc(.9 + var(--voice-energy) * .22)) !important;
}

@keyframes circularVoiceCore {
  0%, 100% {
    filter: brightness(1);
  }
  50% {
    filter: brightness(calc(1.06 + var(--voice-energy) * .2));
  }
}

/* 2026-05-24 Bio-Synthetic Resonance Core v2 */
.bio-core {
  --idle-random-a: .24;
  --idle-random-b: .18;
  --neural-flow: .32;
  --medical-read: .18;
  --microflow-energy: .22;
  --haze-expansion: 1;
  --haze-scale: 1.02;
}

.bio-aura {
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.76) 0 7%, rgba(18,184,163,.18) 22%, transparent 54%),
    radial-gradient(circle at 37% 58%, rgba(118,221,209,.18), transparent 42%),
    radial-gradient(circle at 64% 32%, rgba(200,181,138,.16), transparent 40%);
  transform: translateZ(-90px) scale(var(--haze-scale));
}

.resonance-haze,
.optical-debris {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.resonance-haze {
  z-index: 1;
  transform: translateZ(-120px) scale(calc(1.02 + var(--voice-low) * .04));
  opacity: .78;
}

.resonance-haze span {
  position: absolute;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(255,255,255,.42), rgba(18,184,163,.16) 36%, transparent 68%);
  filter: blur(18px);
  mix-blend-mode: screen;
  animation: resonanceHazeLife 17s ease-in-out infinite;
}

.resonance-haze span:nth-child(1) {
  width: 72%;
  height: 50%;
  left: 14%;
  top: 22%;
}

.resonance-haze span:nth-child(2) {
  width: 44%;
  height: 64%;
  left: 32%;
  top: 15%;
  animation-delay: -6s;
}

.resonance-haze span:nth-child(3) {
  width: 58%;
  height: 34%;
  left: 21%;
  top: 47%;
  animation-delay: -11s;
}

.bio-membrane {
  border-color: rgba(255,255,255,.82);
  background:
    radial-gradient(circle at 31% 20%, rgba(255,255,255,.98), rgba(255,255,255,.46) 16%, transparent 38%),
    radial-gradient(circle at 70% 30%, rgba(232,253,248,.46), transparent 38%),
    radial-gradient(circle at 55% 63%, rgba(18,184,163,.24), transparent 46%),
    conic-gradient(from 112deg, rgba(255,255,255,.46), rgba(18,184,163,.08), rgba(200,181,138,.18), rgba(255,255,255,.32), rgba(18,184,163,.1)),
    linear-gradient(145deg, rgba(255,255,255,.7), rgba(222,247,241,.28));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 34px 24px 64px rgba(255,255,255,.48),
    inset -28px -24px 68px rgba(8,122,114,.15),
    inset 0 0 0 7px rgba(255,255,255,.08),
    0 36px 112px rgba(18,184,163,.22);
  backdrop-filter: blur(10px) saturate(1.16);
  -webkit-backdrop-filter: blur(10px) saturate(1.16);
}

.bio-membrane::after {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  background:
    conic-gradient(from 40deg, rgba(255,255,255,.0), rgba(255,255,255,.52), rgba(111,226,214,.24), rgba(200,181,138,.32), rgba(255,255,255,.0) 76%),
    radial-gradient(circle at 50% 50%, transparent 58%, rgba(255,255,255,.4) 72%, transparent 83%);
  mix-blend-mode: screen;
  opacity: calc(.42 + var(--voice-low) * .26 + var(--idle-random-a) * .1);
  animation: membraneChromaticDrift 13.7s ease-in-out infinite;
}

.fresnel-edge {
  position: absolute;
  inset: 1.5%;
  border-radius: inherit;
  border: 1px solid transparent;
  pointer-events: none;
  mix-blend-mode: screen;
}

.edge-a {
  border-left-color: rgba(255,255,255,.64);
  border-top-color: rgba(143,239,229,.32);
  filter: blur(.35px);
}

.edge-b {
  inset: 5%;
  border-right-color: rgba(200,181,138,.3);
  border-bottom-color: rgba(255,255,255,.38);
  filter: blur(.7px);
  opacity: .72;
}

.neural-filament-lattice {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.neural-filament-lattice--back {
  z-index: 3;
  opacity: .42;
  transform: translateZ(-54px) scale(.96);
}

.neural-filament-lattice--mid {
  z-index: 6;
  opacity: .68;
  transform: translateZ(28px) scale(1.02);
}

.neural-filament-lattice path {
  fill: none;
  stroke: rgba(12,129,119,.32);
  stroke-width: .72;
  stroke-linecap: round;
  stroke-dasharray: 1 11;
  filter: drop-shadow(0 0 5px rgba(18,184,163,.22));
  animation: neuralPulseDrift 12.8s ease-in-out infinite;
}

.neural-filament-lattice path:nth-child(2n) {
  stroke: rgba(255,255,255,.36);
  animation-duration: 15.4s;
  animation-delay: -4s;
}

.neural-filament-lattice path:nth-child(3n) {
  stroke: rgba(200,181,138,.28);
  animation-duration: 18.2s;
  animation-delay: -8s;
}

.neural-nodes circle {
  fill: rgba(255,255,255,.86);
  stroke: rgba(18,184,163,.42);
  stroke-width: .7;
  filter: drop-shadow(0 0 7px rgba(18,184,163,.42));
  animation: neuralNodeLife 9s ease-in-out infinite;
}

.neural-nodes circle:nth-child(3n) {
  animation-delay: -3s;
}

.bio-core[data-state="thinking"] .neural-filament-lattice path,
.bio-core[data-state="answering"] .neural-filament-lattice path {
  stroke-dasharray: 18 58 !important;
  stroke-width: 1;
  opacity: .96;
  animation: neuralThinkingFlow 3.6s linear infinite;
}

.bio-core[data-state="speaking"] .neural-filament-lattice path {
  stroke-dasharray: 8 42 !important;
  stroke-width: calc(.78px + var(--voice-high) * .7px);
  opacity: calc(.52 + var(--voice-high) * .42);
  animation: neuralSpeakingFlow 2.1s linear infinite;
}

.bio-core[data-state="speaking"] .neural-nodes circle {
  transform-origin: center;
  opacity: calc(.6 + var(--voice-high) * .38);
}

.microfluidic-veins {
  opacity: calc(.48 + var(--microflow-energy) * .26 + var(--voice-low) * .26);
}

.microfluidic-veins path {
  stroke-width: 1.15;
  stroke-dasharray: 34 112;
  stroke-dashoffset: 0;
  animation: microfluidicFlow 16s ease-in-out infinite;
}

.microfluidic-veins .vein-e,
.microfluidic-veins .vein-g {
  stroke: rgba(255,255,255,.34);
}

.microfluidic-veins .vein-f,
.microfluidic-veins .vein-h {
  stroke: rgba(18,184,163,.24);
}

.bio-core[data-state="thinking"] .microfluidic-veins path,
.bio-core[data-state="readingReport"] .microfluidic-veins path {
  stroke-dasharray: 44 72 !important;
  animation-duration: 5.4s;
}

.bio-core[data-state="speaking"] .microfluidic-veins path {
  stroke-dasharray: 22 68 !important;
  stroke-width: calc(1.1px + var(--voice-low) * .9px);
}

.report-fields i {
  font-size: 7.5px;
  padding: 1px 4px;
  opacity: .42;
  background: rgba(255,255,255,.3);
  transform: translateZ(36px);
  animation: medicalMarkerRead 14s ease-in-out infinite;
}

.report-fields i:nth-child(1) { left: 42%; top: 14%; }
.report-fields i:nth-child(2) { left: 16%; top: 33%; }
.report-fields i:nth-child(3) { right: 13%; top: 34%; }
.report-fields i:nth-child(4) { left: 23%; bottom: 21%; }
.report-fields i:nth-child(5) { right: 20%; bottom: 22%; }
.report-fields i:nth-child(6) { left: 40%; bottom: 10%; }
.report-fields i:nth-child(7) { left: 9%; top: 55%; }
.report-fields i:nth-child(8) { right: 8%; top: 55%; }

.bio-core[data-state="thinking"] .report-fields i,
.bio-core[data-state="readingReport"] .report-fields i,
.bio-core[data-state="answering"] .report-fields i {
  opacity: calc(.5 + var(--medical-read) * .38);
  border-color: rgba(18,184,163,.34);
  box-shadow: 0 0 10px rgba(18,184,163,.18);
}

.holographic-rings--back {
  transform: translateZ(-68px) scale(calc(var(--voice-ring-scale) * .98));
}

.holographic-rings--front {
  transform: translateZ(74px) scale(calc(var(--voice-ring-scale) * 1.01));
}

.holographic-rings .ring-a,
.holographic-rings .ring-c {
  stroke-dasharray: none !important;
}

.holographic-rings .ring-b {
  stroke-dasharray: 78 34 !important;
}

.holographic-rings .ring-d,
.holographic-rings .ring-wave {
  stroke-dasharray: 16 18 !important;
}

.bio-core[data-state="speaking"] .holographic-rings .ring-wave,
.bio-core[data-state="listening"] .holographic-rings .ring-wave {
  stroke-dasharray: 3 10 !important;
  stroke-width: calc(1px + var(--voice-mid) * .9px);
}

.living-particles {
  transform: translateZ(100px);
}

.living-particles i:nth-child(4n) {
  width: 4px;
  height: 4px;
  background: rgba(143,239,229,.86);
}

.living-particles i:nth-child(5n) {
  width: 7px;
  height: 7px;
  background: rgba(255,255,255,.9);
}

.bio-core[data-state="thinking"] .living-particles i {
  animation-name: particleConverge;
  opacity: .74;
}

.bio-core[data-state="speaking"] .living-particles i {
  animation-name: particleFrequencySpark;
  animation-duration: 1.9s;
}

.optical-debris {
  z-index: 10;
  transform: translateZ(140px);
}

.optical-debris i {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 18px;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), rgba(143,239,229,.3), transparent);
  opacity: .34;
  rotate: var(--r);
  filter: blur(.25px);
  animation: opticalDebrisLife 16s ease-in-out var(--d) infinite;
}

.bio-core[data-state="speaking"] .vocal-aperture,
.bio-core[data-state="speaking"] .resonance-core {
  width: calc(var(--orb-core) * .24) !important;
  height: calc(var(--orb-core) * .24) !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,1) 0 8%, rgba(229,252,247,.82) 20%, rgba(18,184,163,.28) 48%, transparent 72%),
    repeating-conic-gradient(from 0deg, rgba(255,255,255,.2) 0 9deg, rgba(18,184,163,.08) 9deg 21deg),
    radial-gradient(circle, transparent 45%, rgba(255,255,255,.2) 48%, transparent 52%);
}

.bio-core[data-state="speaking"] .resonance-core::before,
.bio-core[data-state="speaking"] .resonance-core::after,
.bio-core[data-state="speaking"] .vocal-aperture::before,
.bio-core[data-state="speaking"] .vocal-aperture::after {
  inset: -118%;
  border-color: rgba(143,239,229,.28);
  box-shadow: 0 0 24px rgba(18,184,163,.16);
}

.bio-core[data-state="speaking"] .resonance-core::after,
.bio-core[data-state="speaking"] .vocal-aperture::after {
  inset: -178%;
  border-color: rgba(200,181,138,.18);
}

@keyframes resonanceHazeLife {
  0%, 100% { opacity: .48; transform: scale(.96) rotate(-2deg); }
  43% { opacity: .82; transform: scale(1.04) rotate(1.5deg); }
  68% { opacity: .58; transform: scale(.99) rotate(.5deg); }
}

@keyframes membraneChromaticDrift {
  0%, 100% { transform: rotate(-7deg) scale(.99); opacity: .42; }
  48% { transform: rotate(9deg) scale(1.025); opacity: .62; }
}

@keyframes neuralPulseDrift {
  0%, 100% { stroke-dashoffset: 0; opacity: .24; }
  37% { stroke-dashoffset: -18; opacity: .56; }
  71% { stroke-dashoffset: -34; opacity: .32; }
}

@keyframes neuralThinkingFlow {
  to { stroke-dashoffset: -160; }
}

@keyframes neuralSpeakingFlow {
  to { stroke-dashoffset: -96; }
}

@keyframes neuralNodeLife {
  0%, 100% { opacity: .34; transform: scale(.8); }
  47% { opacity: .86; transform: scale(1.12); }
}

@keyframes microfluidicFlow {
  0%, 100% { stroke-dashoffset: 0; opacity: .34; }
  52% { stroke-dashoffset: -84; opacity: .74; }
}

@keyframes medicalMarkerRead {
  0%, 100% { opacity: .28; transform: scale(.92); }
  42% { opacity: .62; transform: scale(1.03); }
}

@keyframes particleConverge {
  0%, 100% { transform: translate(0, 0) scale(.86); }
  50% { transform: translate(0, 0) scale(1.12); }
}

@keyframes particleFrequencySpark {
  0%, 100% { opacity: .36; transform: scale(.82); }
  33% { opacity: calc(.42 + var(--voice-high) * .58); transform: scale(calc(.88 + var(--voice-high) * .7)); }
  66% { opacity: .54; transform: scale(.95); }
}

@keyframes opticalDebrisLife {
  0%, 100% { opacity: .16; transform: translate3d(0,0,0) scaleX(.55); }
  44% { opacity: .58; transform: translate3d(5px,-7px,0) scaleX(1.1); }
  73% { opacity: .28; transform: translate3d(-3px,4px,0) scaleX(.8); }
}

@media (max-width: 900px) {
  .neural-filament-lattice--back {
    opacity: .32;
  }

  .neural-filament-lattice path {
    stroke-width: .6;
  }

  .optical-debris i {
    width: 14px;
  }
}

/* 2026-05-24 desktop layout recovery + reactor-grade core contrast */
.synthetic-core-geometry {
  position: absolute;
  inset: 0;
  z-index: 8;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  transform: translateZ(64px) scale(.94);
  filter: drop-shadow(0 0 18px rgba(18,184,163,.2));
}

.reactor-shadow circle {
  fill: rgba(4,36,38,.16);
  stroke: rgba(255,255,255,.18);
  stroke-width: .8;
}

.reactor-shadow circle:first-child {
  filter: drop-shadow(0 0 18px rgba(6,47,48,.22));
}

.reactor-polygons path,
.reactor-spokes path,
.reactor-frequency ellipse {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.reactor-polygons path {
  stroke: rgba(8,122,114,.3);
  stroke-width: 1.1;
  filter: drop-shadow(0 0 6px rgba(18,184,163,.18));
  animation: reactorGeometryDrift 18s ease-in-out infinite;
}

.reactor-polygons path:nth-child(2) {
  stroke: rgba(255,255,255,.42);
  animation-delay: -5s;
}

.reactor-polygons path:nth-child(3) {
  stroke: rgba(200,181,138,.44);
  animation-delay: -9s;
}

.reactor-spokes path {
  stroke: rgba(255,255,255,.32);
  stroke-width: .8;
  stroke-linecap: round;
  opacity: .55;
}

.reactor-frequency ellipse {
  stroke: rgba(18,184,163,.28);
  stroke-width: .85;
  stroke-dasharray: 20 24;
  opacity: .58;
  transform-origin: 150px 150px;
  animation: reactorFrequency 13s linear infinite;
}

.reactor-frequency ellipse:nth-child(2) {
  stroke: rgba(200,181,138,.32);
  animation-duration: 17s;
  animation-direction: reverse;
}

.reactor-frequency ellipse:nth-child(3) {
  stroke: rgba(255,255,255,.34);
  animation-duration: 21s;
}

.reactor-core-light {
  fill: url(#reactorGold);
  filter:
    drop-shadow(0 0 12px rgba(255,248,223,.72))
    drop-shadow(0 0 30px rgba(18,184,163,.36));
  transform-origin: 150px 150px;
  animation: reactorCorePulse 7.2s ease-in-out infinite;
}

.reactor-core-seed {
  fill: rgba(255,255,255,.96);
  filter: drop-shadow(0 0 13px rgba(255,248,223,.92));
}

.bio-core[data-state="speaking"] .synthetic-core-geometry {
  filter:
    drop-shadow(0 0 calc(18px + var(--voice-mid) * 24px) rgba(18,184,163,.32))
    drop-shadow(0 0 calc(10px + var(--voice-high) * 18px) rgba(255,255,255,.28));
}

.bio-core[data-state="speaking"] .reactor-core-light {
  transform: scale(calc(1 + var(--voice-mid) * .28));
}

.bio-core[data-state="speaking"] .reactor-frequency ellipse {
  stroke-dasharray: 8 14;
  stroke-width: calc(.9px + var(--voice-high) * .75px);
}

.bio-core[data-state="thinking"] .synthetic-core-geometry,
.bio-core[data-state="answering"] .synthetic-core-geometry {
  filter: drop-shadow(0 0 26px rgba(18,184,163,.28));
}

.bio-core[data-state="thinking"] .reactor-polygons path,
.bio-core[data-state="answering"] .reactor-polygons path {
  stroke-width: 1.35;
  stroke: rgba(18,184,163,.46);
}

.bio-core .bio-membrane {
  background:
    radial-gradient(circle at 30% 19%, rgba(255,255,255,.86), rgba(255,255,255,.28) 14%, transparent 34%),
    radial-gradient(circle at 72% 29%, rgba(232,253,248,.28), transparent 34%),
    radial-gradient(circle at 50% 61%, rgba(18,184,163,.17), transparent 48%),
    conic-gradient(from 116deg, rgba(255,255,255,.32), rgba(18,184,163,.05), rgba(200,181,138,.12), rgba(255,255,255,.22), rgba(18,184,163,.08)),
    linear-gradient(145deg, rgba(255,255,255,.42), rgba(222,247,241,.18));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    inset 28px 20px 58px rgba(255,255,255,.34),
    inset -30px -25px 76px rgba(8,122,114,.19),
    inset 0 0 0 7px rgba(255,255,255,.055),
    0 34px 102px rgba(18,184,163,.2);
}

.bio-core .bio-membrane::before {
  opacity: .58;
}

.bio-core .bio-core-body {
  background:
    radial-gradient(circle at 50% 50%, rgba(3,32,34,.16), transparent 45%),
    radial-gradient(circle at 50% 50%, rgba(18,184,163,.12), transparent 64%);
}

@keyframes reactorGeometryDrift {
  0%, 100% { transform: rotate(-1.5deg) scale(.985); opacity: .54; }
  50% { transform: rotate(2deg) scale(1.018); opacity: .9; }
}

@keyframes reactorFrequency {
  to { stroke-dashoffset: -160; transform: rotate(360deg); }
}

@keyframes reactorCorePulse {
  0%, 100% { transform: scale(.94); opacity: .78; }
  48% { transform: scale(1.08); opacity: 1; }
  66% { transform: scale(.98); opacity: .88; }
}

@media (min-width: 901px) {
  :root {
    --header-h: 62px;
    --footer-h: 28px;
    --orb-size: clamp(430px, 36vw, 580px);
    --orb-core: clamp(250px, 22vw, 360px);
  }

  body {
    overflow: hidden;
  }

  .site-header {
    width: min(100% - 40px, 1480px);
    grid-template-columns: minmax(180px, 240px) minmax(280px, 430px) minmax(320px, auto);
  }

  .page-shell {
    width: min(100% - 40px, 1480px);
    height: calc(100dvh - var(--header-h) - var(--footer-h) - 16px) !important;
    max-height: calc(100dvh - var(--header-h) - var(--footer-h) - 16px) !important;
    margin-top: 6px;
    grid-template-rows: minmax(0, 1fr) auto auto !important;
    gap: 8px;
    overflow: hidden;
  }

  .advisor-hero {
    grid-template-columns: minmax(470px, .82fr) minmax(640px, 1.18fr) !important;
    gap: clamp(18px, 2vw, 30px) !important;
    align-items: stretch;
    overflow: visible;
  }

  .orb-column {
    min-width: 0;
    overflow: visible;
    padding-inline: clamp(42px, 4vw, 72px);
    justify-content: center;
  }

  .orb-wrap {
    width: min(var(--orb-size), 58dvh) !important;
    margin-inline: auto;
  }

  .orb-system-label {
    width: 126px;
    grid-template-columns: 22px minmax(0, 1fr);
    column-gap: 5px;
    font-size: 8.5px;
    opacity: .74;
  }

  .orb-system-label em {
    font-size: 10px;
  }

  .label-left {
    left: 0;
  }

  .label-right {
    right: 0;
    grid-template-columns: minmax(0, 1fr) 22px;
  }

  .label-a { top: 21%; }
  .label-b { top: 42%; }
  .label-c { top: 63%; }
  .label-d { top: 23%; }
  .label-e { top: 44%; }
  .label-f { top: 65%; }

  .agent-status-card {
    margin-top: -2px;
  }

  .orb-copy h2 {
    font-size: clamp(24px, 2.35vw, 34px);
  }

  .orb-copy p:last-child {
    max-width: 460px;
    font-size: 13.5px;
  }

  .advisor-workspace {
    min-height: 0;
    padding: clamp(18px, 1.8vw, 26px);
    border-radius: 28px;
  }

  .workspace-head h1 {
    font-size: clamp(42px, 3.7vw, 56px) !important;
  }

  .advisor-note {
    max-width: 760px;
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.65;
  }

  .consultation-console {
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 12px;
    grid-template-rows: minmax(116px, 1fr) auto auto auto auto auto !important;
    gap: 8px;
  }

  .advisor-input {
    min-height: 116px;
  }

  .voice-panel {
    min-height: 52px;
    padding: 8px 12px;
  }

  .agent-output-drawer {
    max-height: 128px;
  }

  .prompt-grid {
    max-height: 76px;
    overflow: hidden;
  }

  .capability-section {
    min-height: 78px;
  }

  .capability-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .capability-card {
    min-height: 58px;
    padding: 10px 12px;
  }
}

/* 2026-05-24 reference-aligned intelligence core contrast pass */
.bio-core {
  filter:
    drop-shadow(0 34px 92px rgba(18,184,163,.22))
    drop-shadow(0 8px 28px rgba(7,69,67,.08));
}

.bio-core .bio-aura {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.52) 0 4%, rgba(24,191,168,.22) 16%, rgba(24,191,168,.12) 34%, transparent 62%),
    radial-gradient(circle at 45% 54%, rgba(0,120,112,.16), transparent 42%),
    radial-gradient(circle at 58% 38%, rgba(200,181,138,.18), transparent 36%);
}

.bio-core .bio-core-body {
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,248,220,.98) 0 1.8%, rgba(200,181,138,.66) 4.4%, rgba(24,191,168,.42) 11%, rgba(4,40,42,.42) 20%, rgba(7,69,67,.2) 34%, transparent 58%),
    radial-gradient(circle at 42% 36%, rgba(255,255,255,.26), transparent 22%),
    radial-gradient(circle at 56% 60%, rgba(24,191,168,.16), transparent 44%);
  box-shadow:
    inset 0 0 32px rgba(4,40,42,.22),
    inset 0 0 78px rgba(24,191,168,.16);
}

.bio-core .bio-membrane {
  opacity: .88;
  background:
    radial-gradient(circle at 28% 18%, rgba(255,255,255,.96), rgba(255,255,255,.5) 10%, rgba(255,255,255,.12) 25%, transparent 42%),
    radial-gradient(circle at 72% 30%, rgba(236,255,251,.4), transparent 34%),
    radial-gradient(circle at 50% 64%, rgba(18,184,163,.16), transparent 49%),
    conic-gradient(from 124deg, rgba(255,255,255,.46), rgba(18,184,163,.04), rgba(200,181,138,.16), rgba(255,255,255,.3), rgba(18,184,163,.08)),
    linear-gradient(145deg, rgba(255,255,255,.46), rgba(222,247,241,.16));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 35px 22px 72px rgba(255,255,255,.38),
    inset -34px -27px 86px rgba(8,122,114,.2),
    inset 0 0 0 10px rgba(255,255,255,.055),
    0 38px 116px rgba(18,184,163,.18);
}

.bio-core .bio-membrane::before {
  opacity: .72;
}

.holographic-rings--back {
  z-index: 2;
  opacity: .42;
  filter: blur(.4px);
}

.holographic-rings--front {
  z-index: 13;
  opacity: .86;
  filter:
    drop-shadow(0 0 8px rgba(255,255,255,.24))
    drop-shadow(0 0 16px rgba(24,191,168,.16));
}

.holographic-rings .ring-a {
  stroke: rgba(10,117,109,.48);
  stroke-width: 1.25;
}

.holographic-rings .ring-b {
  stroke: rgba(255,255,255,.72);
  stroke-width: 1.05;
}

.holographic-rings .ring-c {
  stroke: rgba(200,181,138,.58);
  stroke-width: 1;
}

.holographic-rings .ring-d,
.holographic-rings .ring-wave {
  stroke: rgba(24,191,168,.46);
  stroke-width: .9;
}

.synthetic-core-geometry {
  z-index: 9;
  opacity: .9;
  transform: translateZ(80px) scale(.98);
}

.reactor-shadow circle {
  fill: rgba(2,26,29,.22);
  stroke: rgba(255,255,255,.2);
}

.reactor-polygons path {
  stroke: rgba(14,129,120,.52);
  stroke-width: 1.2;
  opacity: .78;
}

.reactor-polygons path:nth-child(2) {
  stroke: rgba(255,255,255,.62);
}

.reactor-polygons path:nth-child(3) {
  stroke: rgba(200,181,138,.62);
}

.reactor-frequency ellipse {
  stroke: rgba(18,184,163,.44);
  opacity: .7;
}

.reactor-spokes path {
  opacity: .7;
  stroke: rgba(255,255,255,.48);
}

.neural-filament-lattice--back {
  z-index: 4;
  opacity: .5;
}

.neural-filament-lattice--mid {
  z-index: 11;
  opacity: .78;
}

.neural-filament-lattice path {
  stroke-width: .8;
}

.microfluidic-veins {
  z-index: 12;
  opacity: calc(.56 + var(--microflow-energy) * .24 + var(--voice-low) * .22);
  filter: drop-shadow(0 0 7px rgba(24,191,168,.18));
}

.report-fields i {
  color: rgba(8,88,84,.54);
  background: rgba(255,255,255,.36);
  border-color: rgba(14,129,120,.2);
}

.living-particles {
  z-index: 14;
}

.bio-core[data-state="speaking"] .bio-core-body {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,1) 0 2.5%, rgba(255,239,188,.82) 5%, rgba(24,191,168,.5) 14%, rgba(2,30,33,.5) 26%, rgba(24,191,168,.16) 43%, transparent 62%),
    repeating-conic-gradient(from 0deg, rgba(255,255,255,.16) 0 8deg, rgba(24,191,168,.06) 8deg 20deg);
}

.bio-core[data-state="speaking"] .vocal-aperture,
.bio-core[data-state="speaking"] .resonance-core {
  width: calc(var(--orb-core) * .2) !important;
  height: calc(var(--orb-core) * .2) !important;
  border-radius: 50%;
  clip-path: circle(50%);
}

@media (max-width: 900px) {
  .bio-core {
    filter: drop-shadow(0 24px 60px rgba(18,184,163,.18));
  }

  .synthetic-core-geometry {
    opacity: .82;
  }

  .holographic-rings--front {
    opacity: .78;
  }
}

/* 2026-05-24 reference image rebuild: living liquid-glass medical AI core */
.orb-system-label {
  display: none !important;
}

.bio-core {
  --deep-core: rgba(2, 34, 39, .72);
  --deep-core-soft: rgba(7, 70, 78, .5);
  --core-energy: calc(.92 + var(--voice-mid) * .22 + var(--voice-onset) * .1);
  overflow: visible;
  transform-style: preserve-3d;
}

.bio-core-canvas {
  position: absolute;
  inset: -12%;
  z-index: 12;
  width: 124%;
  height: 124%;
  pointer-events: none;
  mix-blend-mode: screen;
  opacity: .92;
  filter:
    saturate(1.18)
    drop-shadow(0 0 12px rgba(115,255,241,.14));
}

.bio-core .bio-aura {
  inset: -20%;
  background:
    radial-gradient(circle at 50% 51%, rgba(255,255,255,.2) 0 3%, rgba(82,240,220,.18) 18%, rgba(8,95,104,.16) 38%, transparent 66%),
    radial-gradient(circle at 45% 58%, rgba(0,28,34,.2), transparent 36%),
    radial-gradient(circle at 58% 34%, rgba(200,181,138,.16), transparent 32%);
  opacity: .95;
  filter: blur(6px) saturate(1.18);
}

.bio-core .bio-core-body {
  inset: 17%;
  z-index: 7;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,248,218,1) 0 3.2%, rgba(255,235,176,.94) 6.4%, rgba(80,240,220,.56) 13%, rgba(1,30,36,.84) 25%, rgba(7,70,78,.58) 46%, rgba(80,240,220,.1) 66%, transparent 80%),
    radial-gradient(circle at 42% 36%, rgba(255,255,255,.22), transparent 18%),
    radial-gradient(circle at 62% 62%, rgba(0,28,34,.3), transparent 42%),
    conic-gradient(from 18deg, rgba(255,255,255,.12), rgba(12,129,119,.16), rgba(0,28,34,.2), rgba(200,181,138,.12), rgba(255,255,255,.1));
  box-shadow:
    inset 0 0 28px rgba(255,255,255,.12),
    inset 0 0 54px rgba(0,28,34,.36),
    inset 0 0 92px rgba(24,191,168,.14),
    0 0 44px rgba(24,191,168,.16);
  transform: translateZ(10px) scale(calc(.985 + var(--voice-mid) * .02));
}

.bio-core .bio-core-body::before {
  content: "";
  position: absolute;
  inset: 14%;
  border-radius: 50%;
  background:
    radial-gradient(circle, transparent 0 28%, rgba(255,255,255,.14) 30%, transparent 32%),
    repeating-conic-gradient(from 0deg, rgba(165,255,245,.12) 0 4deg, transparent 4deg 13deg);
  opacity: calc(.32 + var(--medical-read) * .28 + var(--voice-high) * .3);
  filter: blur(.25px);
  animation: livingCoreDataTurn 28s linear infinite;
}

.bio-core .bio-core-body::after {
  content: "";
  position: absolute;
  inset: 26%;
  z-index: 20;
  border-radius: 50%;
  background:
    radial-gradient(circle at 48% 46%, rgba(255,255,255,1) 0 16%, rgba(255,239,190,.88) 24%, rgba(80,240,220,.38) 50%, transparent 74%);
  box-shadow:
    0 0 calc(22px + var(--voice-mid) * 28px) rgba(255,244,204,.94),
    0 0 calc(52px + var(--voice-mid) * 48px) rgba(80,240,220,.46),
    0 0 calc(88px + var(--voice-low) * 54px) rgba(24,191,168,.22);
  transform: scale(var(--core-energy));
  animation: warmCoreBreath 7.8s ease-in-out infinite;
}

.bio-core .bio-membrane {
  inset: 6%;
  z-index: 10;
  border-radius: 48% 51% 49% 52%;
  opacity: .96;
  background:
    radial-gradient(ellipse at 29% 17%, rgba(255,255,255,.98), rgba(255,255,255,.66) 8%, rgba(255,255,255,.18) 24%, transparent 40%),
    radial-gradient(circle at 70% 27%, rgba(225,255,252,.48), transparent 30%),
    radial-gradient(circle at 50% 66%, rgba(80,240,220,.16), transparent 48%),
    conic-gradient(from 126deg, rgba(255,255,255,.52), rgba(80,240,220,.1), rgba(200,181,138,.18), rgba(255,255,255,.32), rgba(80,240,220,.08)),
    linear-gradient(145deg, rgba(255,255,255,.44), rgba(221,248,242,.18));
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.96),
    inset 40px 30px 86px rgba(255,255,255,.42),
    inset -42px -34px 108px rgba(8,95,104,.28),
    inset 0 0 0 10px rgba(255,255,255,.055),
    inset 0 0 0 1px rgba(255,255,255,.8),
    0 40px 128px rgba(18,184,163,.24);
  transform: translateZ(34px) scale(var(--voice-membrane-scale));
  backdrop-filter: blur(14px) saturate(1.25);
  -webkit-backdrop-filter: blur(14px) saturate(1.25);
}

.bio-core .bio-membrane::before {
  content: "";
  position: absolute;
  inset: 2% 9% 50% 16%;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.24) 48%, transparent 72%);
  filter: blur(.7px);
  opacity: .38;
  transform: rotate(-17deg);
}

.bio-core .bio-membrane::after {
  opacity: calc(.58 + var(--voice-low) * .26 + var(--idle-random-a) * .12);
}

.fresnel-edge.edge-a {
  inset: -1%;
  border: 2px solid transparent;
  border-left-color: rgba(255,255,255,.78);
  border-top-color: rgba(210,255,250,.54);
  border-radius: 49% 52% 48% 51%;
  filter: blur(.28px);
}

.fresnel-edge.edge-b {
  inset: 4%;
  border: 1px solid transparent;
  border-right-color: rgba(80,240,220,.34);
  border-bottom-color: rgba(245,220,170,.32);
  filter: blur(.6px);
}

.bio-svg-core {
  z-index: 2;
  opacity: .42;
  filter: blur(.15px) saturate(1.15);
}

.svg-orbit ellipse {
  opacity: .28;
}

.svg-orbit.orbit-1 ellipse,
.svg-orbit.orbit-2 ellipse {
  stroke: rgba(210,174,112,.52);
  stroke-width: 1.2;
}

.holographic-rings--back {
  z-index: 4;
  opacity: .34;
  transform: translateZ(-80px) scale(.96);
}

.holographic-rings--front {
  z-index: 16;
  opacity: .78;
  transform: translateZ(120px) scale(1.04);
  mix-blend-mode: screen;
}

.holographic-rings .ring-a,
.holographic-rings .ring-c {
  stroke-dasharray: none !important;
}

.holographic-rings .ring-a {
  stroke: rgba(210,174,112,.68);
  stroke-width: 1.35;
}

.holographic-rings .ring-b {
  stroke: rgba(245,220,170,.46);
  stroke-width: 1.05;
  stroke-dasharray: 110 42 !important;
}

.holographic-rings .ring-c {
  stroke: rgba(200,255,250,.42);
  stroke-width: .9;
}

.holographic-rings .ring-d,
.holographic-rings .ring-wave {
  stroke: rgba(100,235,223,.36);
  stroke-dasharray: 12 18 !important;
}

.synthetic-core-geometry {
  z-index: 13;
  opacity: .82;
  transform: translateZ(100px) scale(.93);
  mix-blend-mode: screen;
}

.reactor-shadow circle {
  fill: rgba(0,28,34,.36);
  stroke: rgba(255,255,255,.18);
}

.reactor-polygons path {
  stroke: rgba(185,255,247,.34);
  opacity: .62;
}

.reactor-polygons path:nth-child(3) {
  stroke: rgba(245,220,170,.46);
}

.reactor-frequency ellipse {
  stroke: rgba(165,255,245,.34);
}

.reactor-core-light {
  opacity: 0;
}

.reactor-core-seed {
  opacity: 0;
}

.neural-filament-lattice--back {
  z-index: 5;
  opacity: .54;
  transform: translateZ(-68px) scale(.96);
}

.neural-filament-lattice--mid {
  z-index: 14;
  opacity: calc(.58 + var(--neural-flow) * .34 + var(--voice-high) * .24);
  transform: translateZ(90px) scale(1.01);
}

.neural-filament-lattice path {
  stroke: rgba(165,255,245,.34);
  stroke-width: .82;
  stroke-dasharray: 10 38;
}

.neural-filament-lattice path:nth-child(2n) {
  stroke: rgba(255,255,255,.45);
}

.neural-filament-lattice path:nth-child(3n) {
  stroke: rgba(245,220,170,.34);
}

.neural-nodes circle {
  fill: rgba(180,255,247,.92);
  stroke: rgba(255,255,255,.72);
}

.knowledge-filaments {
  opacity: .28;
}

.microfluidic-veins {
  z-index: 15;
  opacity: calc(.5 + var(--microflow-energy) * .34 + var(--voice-low) * .22);
}

.microfluidic-veins path {
  stroke: rgba(165,255,245,.28);
  stroke-width: 1;
  stroke-dasharray: 20 74;
}

.microfluidic-veins .vein-b,
.microfluidic-veins .vein-d,
.microfluidic-veins .vein-h {
  stroke: rgba(245,220,170,.2);
}

.report-fields i {
  color: rgba(210,255,250,.56);
  border-color: rgba(165,255,245,.16);
  background: rgba(4,40,42,.12);
  opacity: calc(.18 + var(--medical-read) * .22);
  font-size: 6.5px;
  letter-spacing: .06em;
}

.living-particles {
  z-index: 18;
  transform: translateZ(160px);
}

.living-particles i {
  box-shadow: 0 0 12px rgba(180,255,247,.54);
  opacity: calc(.44 + var(--voice-particle-opacity) * .42);
}

.living-particles i:nth-child(3n) {
  background: rgba(245,220,170,.88);
  box-shadow: 0 0 13px rgba(245,220,170,.46);
}

.optical-debris {
  z-index: 20;
  opacity: .42;
}

.bio-core[data-state="speaking"] .optical-debris {
  opacity: .94;
}

.bio-core[data-state="speaking"] .optical-debris i {
  width: 26px;
  height: 10px;
  border: 1px solid rgba(230,255,252,.34);
  border-radius: 40% 62% 48% 54%;
  background: linear-gradient(125deg, rgba(255,255,255,.32), rgba(165,255,245,.13), transparent);
  box-shadow: 0 0 18px rgba(165,255,245,.22);
}

.bio-core[data-state="speaking"] .holographic-rings--front {
  opacity: calc(.84 + var(--voice-high) * .12);
  filter: drop-shadow(0 0 calc(14px + var(--voice-high) * 26px) rgba(165,255,245,.3));
}

.bio-core[data-state="speaking"] .holographic-rings .ring-wave,
.bio-core[data-state="listening"] .holographic-rings .ring-wave {
  stroke-dasharray: 4 12 !important;
  stroke-width: calc(1px + var(--voice-mid) * 1.2px);
}

.bio-core[data-state="speaking"] .vocal-aperture,
.bio-core[data-state="speaking"] .resonance-core {
  width: calc(var(--orb-core) * .18) !important;
  height: calc(var(--orb-core) * .18) !important;
  border-radius: 50% !important;
  clip-path: circle(50%) !important;
  transform:
    translate(-50%, -50%)
    scale(calc(.9 + var(--voice-mid) * .18 + var(--voice-onset) * .08)) !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,1) 0 18%, rgba(255,239,190,.82) 31%, rgba(80,240,220,.36) 58%, transparent 76%),
    repeating-conic-gradient(from 0deg, rgba(255,255,255,.2) 0 7deg, rgba(80,240,220,.08) 7deg 16deg) !important;
}

.bio-core[data-state="speaking"] .resonance-spine {
  opacity: 0 !important;
}

.bio-core[data-state="speaking"] .resonance-shell {
  border-radius: 50%;
  opacity: calc(.35 + var(--voice-mid) * .5);
}

.bio-core[data-state="thinking"] .bio-core-body,
.bio-core[data-state="answering"] .bio-core-body,
.bio-core[data-state="readingReport"] .bio-core-body {
  filter: brightness(1.08) saturate(1.2);
}

.bio-core[data-state="thinking"] .report-fields i,
.bio-core[data-state="answering"] .report-fields i,
.bio-core[data-state="readingReport"] .report-fields i {
  opacity: calc(.4 + var(--medical-read) * .45);
}

@keyframes livingCoreDataTurn {
  to { transform: rotate(360deg); }
}

@keyframes warmCoreBreath {
  0%, 100% { transform: scale(calc(var(--core-energy) * .94)); opacity: .86; }
  44% { transform: scale(calc(var(--core-energy) * 1.07)); opacity: 1; }
  62% { transform: scale(calc(var(--core-energy) * .98)); opacity: .92; }
}

@media (max-width: 900px) {
  .orb-stage,
  .orb-column {
    min-height: 34dvh;
  }

  .orb-wrap {
    width: min(78vw, 300px) !important;
  }

  .bio-core-canvas {
    inset: -8%;
    width: 116%;
    height: 116%;
  }

  .report-fields i {
    display: none;
  }
}

/* Remove the old infographic glow plate so the living core is the only visual subject. */
.orb-column::before,
.orb-column::after {
  opacity: 0 !important;
}

.bio-core::before {
  inset: 10%;
  z-index: 17;
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(255,255,255,.86), rgba(255,255,255,.3) 13%, transparent 28%),
    radial-gradient(circle at 72% 70%, rgba(170,255,246,.12), transparent 28%),
    linear-gradient(132deg, rgba(255,255,255,.22), transparent 36%, rgba(42,196,179,.08) 62%, transparent 80%);
  opacity: .32;
  mix-blend-mode: screen;
}

.bio-core .bio-aura {
  inset: 2%;
  filter: blur(18px) saturate(1.16);
}

.bio-core .bio-membrane {
  width: 64%;
  left: 50%;
  top: 50%;
  inset: auto;
  translate: -50% -50%;
}

.bio-core .bio-core-body {
  width: 49%;
  left: 50%;
  top: 50%;
  inset: auto;
  translate: -50% -50%;
}

.bio-core .bio-core-body::before {
  inset: 8%;
}

.bio-core .bio-core-body::after {
  inset: 30%;
}

.bio-svg-core .grid-shell {
  opacity: .12;
}

.bio-svg-core .plasma-field {
  opacity: .54;
  fill: rgba(2, 42, 48, .42);
}

.bio-svg-core .crystal-shell {
  opacity: .42;
  stroke-width: 1.1;
}

.bio-core-canvas {
  inset: -4%;
  width: 108%;
  height: 108%;
  opacity: .9;
}

@media (min-width: 901px) {
  .orb-wrap {
    width: min(var(--orb-size), 62dvh) !important;
  }
}

@media (max-width: 900px) {
  .orb-wrap {
    width: min(82vw, 312px) !important;
  }

  .bio-core .bio-membrane {
    width: 70%;
  }

  .bio-core .bio-core-body {
    width: 54%;
  }
}

/* Unified Canvas renderer owns the reference-style core. Legacy DOM layers stay as state hooks only. */
.bio-core .bio-aura,
.bio-core .resonance-haze,
.bio-core .bio-svg-core,
.bio-core .holographic-rings,
.bio-core .neural-filament-lattice,
.bio-core .bio-membrane,
.bio-core .bio-core-body,
.bio-core .knowledge-filaments,
.bio-core .microfluidic-veins,
.bio-core .report-fields,
.bio-core .living-particles,
.bio-core .optical-debris,
.bio-core .voice-wave,
.bio-core .voice-pulse-field,
.bio-core .scan-ring,
.bio-core .success-ripple,
.bio-core::before {
  opacity: 0 !important;
  visibility: hidden !important;
}

.bio-core-canvas {
  position: absolute;
  inset: -10% !important;
  z-index: 30;
  width: 120% !important;
  height: 120% !important;
  display: block;
  opacity: 1 !important;
  visibility: visible !important;
  mix-blend-mode: normal;
  filter:
    saturate(1.14)
    contrast(1.04)
    drop-shadow(0 34px 92px rgba(18,184,163,.2));
}

.bio-core {
  filter:
    drop-shadow(0 42px 120px rgba(18,184,163,.24))
    drop-shadow(0 12px 34px rgba(0,28,34,.08));
}

@media (min-width: 901px) {
  .orb-wrap {
    width: min(620px, 60dvh, 42vw) !important;
  }
}

@media (max-width: 900px) {
  .orb-wrap {
    width: min(82vw, 312px) !important;
  }

  .bio-core-canvas {
    inset: -8% !important;
    width: 116% !important;
    height: 116% !important;
  }
}

/* 2026-05-24 final BioCoreVisual: user-supplied WEBP asset base + live overlays */
.bio-core {
  isolation: isolate;
  overflow: visible;
  filter:
    drop-shadow(0 42px 118px rgba(18,184,163,.2))
    drop-shadow(0 12px 32px rgba(0,28,34,.1)) !important;
}

.bio-core__image-stack {
  position: absolute;
  inset: -3%;
  z-index: 20;
  pointer-events: none;
  transform:
    translateZ(0)
    scale(calc(1.002 + var(--voice-low) * .018 + var(--voice-onset) * .012));
  transform-origin: 50% 50%;
  animation: bioCoreAssetBreath 10.6s cubic-bezier(.55, .05, .34, .99) infinite;
  will-change: transform;
}

.bio-core__base {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  image-rendering: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  transition: opacity .68s ease, filter .68s ease, transform .68s ease;
  filter:
    saturate(calc(1.04 + var(--voice-high) * .08))
    contrast(calc(1.01 + var(--voice-mid) * .05))
    brightness(calc(1 + var(--voice-energy) * .06));
}

.bio-core__base--idle {
  opacity: 1;
  transform: scale(1);
}

.bio-core__base--speaking {
  opacity: 0;
  transform: scale(.996);
}

.bio-core[data-state="speaking"] .bio-core__base--idle,
.bio-core[data-agent-state="speaking"] .bio-core__base--idle {
  opacity: .16;
  filter: saturate(1.04) contrast(1) brightness(.95);
}

.bio-core[data-state="speaking"] .bio-core__base--speaking,
.bio-core[data-agent-state="speaking"] .bio-core__base--speaking {
  opacity: 1;
  transform: scale(calc(1.004 + var(--voice-low) * .018));
}

.bio-core[data-state="thinking"] .bio-core__base--idle,
.bio-core[data-state="answering"] .bio-core__base--idle,
.bio-core[data-state="readingReport"] .bio-core__base--idle,
.bio-core[data-state="uploading"] .bio-core__base--idle {
  filter:
    saturate(1.1)
    contrast(1.05)
    brightness(1.025);
}

.bio-core-glass-highlight {
  position: absolute;
  inset: 4%;
  z-index: 32;
  border-radius: 50%;
  pointer-events: none;
  opacity: calc(.22 + var(--voice-low) * .08);
  mix-blend-mode: screen;
  background:
    radial-gradient(ellipse at 29% 17%, rgba(255,255,255,.58), rgba(255,255,255,.2) 13%, transparent 33%),
    radial-gradient(ellipse at 68% 78%, rgba(143,255,244,.13), transparent 34%),
    conic-gradient(from 116deg, rgba(255,255,255,.18), transparent 22%, rgba(135,255,244,.11), transparent 58%, rgba(245,220,170,.09), transparent 84%);
  mask-image: radial-gradient(circle, #000 0 70%, transparent 76%);
  -webkit-mask-image: radial-gradient(circle, #000 0 70%, transparent 76%);
  animation: bioCoreGlassSweep 18s ease-in-out infinite;
}

.bio-core-resonance-overlay {
  position: absolute;
  inset: -9%;
  z-index: 34;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: screen;
  background:
    repeating-radial-gradient(circle at 50% 50%, rgba(184,255,249,.18) 0 1px, transparent 1px 28px),
    radial-gradient(circle at 50% 50%, rgba(97,255,240,.12), transparent 62%);
  transform: scale(calc(.98 + var(--voice-low) * .04 + var(--voice-onset) * .028));
  transition: opacity .55s ease, transform .55s ease;
}

.bio-core[data-state="speaking"] .bio-core-resonance-overlay,
.bio-core[data-agent-state="speaking"] .bio-core-resonance-overlay {
  opacity: calc(.14 + var(--voice-energy) * .34 + var(--voice-onset) * .22);
  animation: bioCoreResonanceBreathe 2.6s ease-in-out infinite;
}

.bio-core[data-state="thinking"] .bio-core-resonance-overlay,
.bio-core[data-state="answering"] .bio-core-resonance-overlay,
.bio-core[data-state="readingReport"] .bio-core-resonance-overlay,
.bio-core[data-state="uploading"] .bio-core-resonance-overlay {
  opacity: .12;
}

.bio-core[data-state="error"] .bio-core-resonance-overlay {
  opacity: .28;
  background:
    repeating-radial-gradient(circle at 50% 50%, rgba(218,152,74,.18) 0 1px, transparent 1px 30px),
    radial-gradient(circle at 50% 50%, rgba(218,152,74,.14), transparent 62%);
}

.bio-core[data-state="handoff"] .bio-core-resonance-overlay {
  opacity: .22;
  background:
    repeating-radial-gradient(circle at 50% 50%, rgba(245,220,170,.16) 0 1px, transparent 1px 32px),
    radial-gradient(circle at 50% 50%, rgba(245,220,170,.12), transparent 62%);
}

.bio-core-canvas {
  inset: -9% !important;
  z-index: 36 !important;
  width: 118% !important;
  height: 118% !important;
  opacity: .96 !important;
  mix-blend-mode: screen !important;
  filter: saturate(1.12) contrast(1.04) !important;
}

.bio-core[data-state="speaking"] .bio-core-canvas,
.bio-core[data-agent-state="speaking"] .bio-core-canvas {
  opacity: .98 !important;
}

@keyframes bioCoreAssetBreath {
  0%, 100% { transform: translateZ(0) scale(calc(1 + var(--voice-low) * .018)); }
  42% { transform: translateZ(0) scale(calc(1.012 + var(--voice-low) * .018 + var(--voice-onset) * .012)); }
  64% { transform: translateZ(0) scale(calc(1.004 + var(--voice-low) * .018)); }
}

@keyframes bioCoreGlassSweep {
  0%, 100% { opacity: .2; transform: rotate(-7deg) scale(.998); }
  42% { opacity: .34; transform: rotate(3deg) scale(1.006); }
  68% { opacity: .24; transform: rotate(-2deg) scale(1.002); }
}

@keyframes bioCoreResonanceBreathe {
  0%, 100% { transform: scale(calc(.985 + var(--voice-low) * .04)); filter: blur(.1px); }
  50% { transform: scale(calc(1.018 + var(--voice-low) * .05 + var(--voice-onset) * .03)); filter: blur(.45px); }
}

@media (min-width: 901px) {
  .orb-wrap {
    width: clamp(520px, 38vw, 720px) !important;
  }
}

@media (max-width: 900px) {
  html,
  body {
    overflow: hidden;
    overscroll-behavior: none;
    touch-action: pan-x pan-y;
  }

  .advisor-hero {
    grid-template-rows: clamp(292px, 36dvh, 372px) minmax(0, 1fr) !important;
  }

  .orb-column {
    min-height: clamp(292px, 36dvh, 372px) !important;
    padding-bottom: 2px !important;
  }

  .orb-wrap {
    width: min(78vw, 300px) !important;
    min-width: 240px;
    margin-top: -8px !important;
  }

  .bio-core__image-stack {
    inset: -4%;
  }

  .bio-core-canvas {
    inset: -7% !important;
    width: 114% !important;
    height: 114% !important;
  }

  .mobile-bottom-cta {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bio-core__image-stack,
  .bio-core-glass-highlight,
  .bio-core-resonance-overlay {
    animation: none !important;
  }

  .bio-core-canvas {
    opacity: .34 !important;
  }
}

body.motion-reduced .bio-core__image-stack,
body.motion-reduced .bio-core-glass-highlight,
body.motion-reduced .bio-core-resonance-overlay {
  animation: none !important;
}

/* 2026-05-25 desktop layout repair + interactive BioCore controls */
.report-file-input {
  position: fixed;
  left: 0;
  top: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.bio-core {
  --orb-touch-tilt-x: 0deg;
  --orb-touch-tilt-y: 0deg;
  cursor: grab;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.bio-core.core-respond .bio-core-resonance-overlay {
  opacity: .44;
  animation: bioCoreTapPulse .95s ease-out 1;
}

.bio-core.core-respond .bio-core-glass-highlight {
  opacity: .48;
}

.bio-core.is-orb-dragging {
  cursor: grabbing;
  filter:
    drop-shadow(0 48px 126px rgba(18,184,163,.26))
    drop-shadow(0 18px 38px rgba(0,28,34,.12)) !important;
}

.bio-core.is-orb-dragging .bio-core__image-stack,
.bio-core.is-orb-dragging .bio-core-canvas,
.bio-core.is-orb-dragging .bio-core-glass-highlight,
.bio-core.is-orb-dragging .bio-core-resonance-overlay {
  transition: none !important;
}

@keyframes bioCoreTapPulse {
  0% { transform: scale(.96); opacity: .08; filter: blur(.2px); }
  38% { transform: scale(1.04); opacity: .46; filter: blur(.35px); }
  100% { transform: scale(1.18); opacity: 0; filter: blur(1.2px); }
}

@media (min-width: 901px) {
  .page-shell {
    width: min(100% - 44px, 1540px) !important;
    height: calc(100dvh - var(--header-h) - var(--footer-h) - 16px) !important;
    max-height: calc(100dvh - var(--header-h) - var(--footer-h) - 16px) !important;
    margin: 6px auto 0 !important;
    gap: 8px !important;
  }

  .advisor-hero {
    grid-template-columns: minmax(450px, .92fr) minmax(620px, 1.08fr) !important;
    gap: clamp(24px, 2.8vw, 44px) !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  .orb-column {
    min-height: 0 !important;
    height: 100% !important;
    padding: 8px 0 4px !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  .orb-wrap {
    width: min(560px, 35vw, 58dvh) !important;
    align-self: center !important;
    margin: -8px auto 0 !important;
  }

  .bio-core__image-stack {
    inset: -2% !important;
  }

  .bio-core-canvas {
    inset: -8% !important;
    width: 116% !important;
    height: 116% !important;
  }

  .agent-status-card {
    margin-top: -10px !important;
    gap: 6px !important;
  }

  .agent-status-chip {
    min-height: 34px !important;
    padding-inline: 14px !important;
  }

  #ambient-hint {
    max-width: 420px !important;
    min-height: 18px !important;
    margin-top: 2px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  .orb-copy {
    display: none !important;
  }

  .advisor-workspace {
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    padding: clamp(22px, 2.2vw, 32px) !important;
    border-radius: 28px !important;
    overflow: hidden !important;
  }

  .workspace-head h1 {
    font-size: clamp(46px, 3.6vw, 64px) !important;
    line-height: 1.02 !important;
  }

  .value-line {
    margin-top: 14px !important;
    font-size: clamp(18px, 1.35vw, 24px) !important;
  }

  .advisor-note {
    max-width: 760px !important;
    margin-top: 8px !important;
  }

  .consultation-console {
    display: grid !important;
    grid-template-rows: auto auto auto minmax(54px, auto) auto !important;
    align-content: start !important;
    margin-top: clamp(18px, 3.2vh, 34px) !important;
    gap: 10px !important;
  }

  .answer-zone {
    display: none !important;
  }

  .advisor-input {
    min-height: 116px !important;
  }

  .voice-panel,
  .agent-output-drawer {
    flex-shrink: 0 !important;
  }

  .voice-panel {
    min-height: 56px !important;
  }

  .agent-output-drawer {
    min-height: 54px !important;
    max-height: 98px !important;
  }

  .prompt-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .topic {
    min-height: 38px !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
  }

  .capability-section {
    position: relative !important;
    z-index: 3 !important;
    min-height: 88px !important;
    height: auto !important;
    margin-top: 6px !important;
    padding: 10px 12px !important;
    border-radius: 22px !important;
  }

  .capability-section h2 {
    margin: 0 0 8px !important;
    font-size: 18px !important;
  }

  .capability-grid {
    gap: 10px !important;
  }

  .capability-card {
    min-height: 60px !important;
    padding: 12px !important;
  }

  .boundary-card {
    min-height: 40px !important;
    margin-top: 6px !important;
    padding-block: 8px !important;
  }

  .site-footer {
    min-height: 26px !important;
    padding-block: 2px !important;
  }
}

@media (min-width: 1600px) {
  .page-shell {
    width: min(100% - 64px, 1660px) !important;
  }

  .advisor-hero {
    grid-template-columns: minmax(500px, .88fr) minmax(680px, 1.12fr) !important;
  }

  .orb-wrap {
    width: min(600px, 32vw, 60dvh) !important;
  }
}

/* 2026-05-25 visual/font repair: prevent desktop text clipping and blend the core asset edge. */
.bio-core__image-stack {
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0 58%, rgba(0,0,0,.86) 63%, rgba(0,0,0,.38) 68%, transparent 73%);
  mask-image: radial-gradient(circle at 50% 50%, #000 0 58%, rgba(0,0,0,.86) 63%, rgba(0,0,0,.38) 68%, transparent 73%);
}

.bio-core__base {
  filter:
    saturate(calc(1.05 + var(--voice-high) * .08))
    contrast(calc(1.02 + var(--voice-mid) * .05))
    brightness(calc(1.01 + var(--voice-energy) * .06));
}

@media (min-width: 901px) {
  .orb-column {
    background: transparent !important;
  }

  .orb-column::after {
    inset: 6% 5% 14% !important;
    border-radius: 50% !important;
    opacity: .36 !important;
    filter: blur(28px) !important;
    background:
      radial-gradient(circle at 50% 48%, rgba(255,255,255,.5), transparent 21%),
      radial-gradient(circle at 49% 50%, rgba(18,184,163,.16), transparent 52%),
      radial-gradient(circle at 64% 36%, rgba(200,181,138,.08), transparent 62%) !important;
  }

  .advisor-workspace {
    overflow: hidden !important;
  }

  .advisor-note {
    display: block !important;
    max-width: 760px !important;
    min-height: 23px !important;
    margin-top: 9px !important;
    overflow: visible !important;
    color: #2f3a4b !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
  }

  .consultation-console {
    margin-top: clamp(14px, 2.2vh, 24px) !important;
    grid-template-rows: auto auto minmax(80px, 108px) auto !important;
  }

  .agent-output-drawer {
    min-height: 96px !important;
    max-height: 128px !important;
    overflow: hidden !important;
  }

  .agent-output-toggle {
    min-height: 34px !important;
    padding-block: 0 !important;
    line-height: 1.2 !important;
  }

  .agent-output-toggle span,
  .agent-output-toggle em {
    line-height: 1.2 !important;
  }

  .agent-output-content {
    height: calc(100% - 34px) !important;
    max-height: none !important;
    padding: 8px 12px 10px !important;
    overflow: auto !important;
  }

  #agent-output-text {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 900px) {
  .bio-core__image-stack {
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0 58%, rgba(0,0,0,.88) 64%, rgba(0,0,0,.34) 69%, transparent 74%);
    mask-image: radial-gradient(circle at 50% 50%, #000 0 58%, rgba(0,0,0,.88) 64%, rgba(0,0,0,.34) 69%, transparent 74%);
  }
}

/* 2026-05-25 simplified advisor layout and boundary panel. */
.capability-section {
  display: none !important;
}

.prompt-grid {
  display: none !important;
}

[data-boundary-link][aria-expanded="true"] {
  color: #087a70 !important;
}

.bottom-note-strip {
  display: none !important;
}

.boundary-open {
  display: none !important;
}

.boundary-card {
  position: fixed !important;
  top: clamp(68px, 7vh, 92px) !important;
  left: max(16px, calc((100vw - 1280px) / 2)) !important;
  right: max(16px, calc((100vw - 1280px) / 2)) !important;
  z-index: 80 !important;
  width: auto !important;
  max-height: calc(100dvh - 112px) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.boundary-card.is-open {
  pointer-events: auto !important;
}

.boundary-content[hidden] {
  display: none !important;
}

.boundary-content {
  display: block;
  max-height: calc(100dvh - 112px);
  overflow: auto;
  padding: clamp(18px, 2vw, 30px);
  border: 1px solid rgba(34, 139, 130, .18);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(244,252,250,.9)),
    rgba(255,255,255,.9);
  box-shadow: 0 24px 70px rgba(24, 75, 70, .1);
  backdrop-filter: blur(20px);
}

.boundary-content__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}

.boundary-content__head p {
  margin: 0 0 8px;
  color: #0c8378;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
}

.boundary-content__head h2 {
  margin: 0;
  color: #0c1728;
  font-size: clamp(28px, 2.4vw, 42px);
  line-height: 1.12;
  letter-spacing: 0;
}

.boundary-close {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(33, 119, 111, .18);
  border-radius: 50%;
  background: rgba(255,255,255,.82);
  color: #31535d;
  font: inherit;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.boundary-close:hover,
.boundary-close:focus-visible {
  color: #057d72;
  border-color: rgba(22,151,139,.42);
  outline: none;
}

.boundary-content__intro {
  max-width: 1120px;
  margin: 0 0 18px;
  color: #40515f;
  font-size: 15px;
  line-height: 1.8;
}

.boundary-detail-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.boundary-detail-grid article {
  min-height: 184px;
  padding: 18px;
  border: 1px solid rgba(30, 145, 135, .14);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
}

.boundary-detail-grid span {
  display: block;
  margin-bottom: 12px;
  color: #0a8c81;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
}

.boundary-detail-grid h3 {
  margin: 0 0 9px;
  color: #102033;
  font-size: 17px;
  line-height: 1.35;
  letter-spacing: 0;
}

.boundary-detail-grid p {
  margin: 0;
  color: #4d5b68;
  font-size: 13px;
  line-height: 1.72;
}

.boundary-content__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(38, 124, 117, .12);
  color: #40515f;
  font-size: 14px;
}

.boundary-content__footer a {
  color: #087a70;
  font-weight: 800;
  text-decoration: none;
}

.boundary-content__footer a:hover,
.boundary-content__footer a:focus-visible {
  text-decoration: underline;
  outline: none;
}

.voice-panel:not([data-voice-state]),
.voice-panel[data-voice-state="idle"],
.voice-panel[data-voice-state="listening"],
.voice-panel[data-voice-state="transcribing"],
.voice-panel[data-voice-state="transcribed"] {
  display: none !important;
}

.voice-panel[data-voice-state="preparingSpeech"],
.voice-panel[data-voice-state="speaking"],
.voice-panel[data-voice-state="paused"],
.voice-panel[data-voice-state="speechReady"],
.voice-panel[data-voice-state="stopped"],
.voice-panel[data-voice-state="error"] {
  display: grid !important;
  min-height: 52px !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 14px !important;
}

.voice-panel[data-voice-state="preparingSpeech"] .voice-scrubber-wrap,
.voice-panel[data-voice-state="speaking"] .voice-scrubber-wrap,
.voice-panel[data-voice-state="paused"] .voice-scrubber-wrap,
.voice-panel[data-voice-state="speechReady"] .voice-scrubber-wrap,
.voice-panel[data-voice-state="stopped"] .voice-scrubber-wrap,
.voice-panel[data-voice-state="error"] .voice-scrubber-wrap,
.voice-panel[data-voice-state="preparingSpeech"] #voice-transcript,
.voice-panel[data-voice-state="speaking"] #voice-transcript,
.voice-panel[data-voice-state="paused"] #voice-transcript,
.voice-panel[data-voice-state="speechReady"] #voice-transcript,
.voice-panel[data-voice-state="stopped"] #voice-transcript,
.voice-panel[data-voice-state="error"] #voice-transcript,
.voice-panel[data-voice-state="preparingSpeech"] .auto-tts-toggle,
.voice-panel[data-voice-state="speaking"] .auto-tts-toggle,
.voice-panel[data-voice-state="paused"] .auto-tts-toggle,
.voice-panel[data-voice-state="speechReady"] .auto-tts-toggle,
.voice-panel[data-voice-state="stopped"] .auto-tts-toggle,
.voice-panel[data-voice-state="error"] .auto-tts-toggle {
  display: none !important;
}

@media (min-width: 901px) {
  .page-shell {
    width: min(100% - 64px, 1720px) !important;
    min-height: auto !important;
    padding-top: clamp(16px, 2vh, 28px) !important;
  }

  .advisor-hero {
    height: auto !important;
    min-height: min(650px, calc(100dvh - 188px)) !important;
    grid-template-columns: minmax(420px, .9fr) minmax(640px, 1.1fr) !important;
    gap: clamp(26px, 3vw, 58px) !important;
    align-items: center !important;
    margin-bottom: clamp(28px, 4vh, 54px) !important;
  }

  .orb-column {
    height: auto !important;
    min-height: 560px !important;
  }

  .orb-wrap {
    width: min(560px, 34vw, 60dvh) !important;
    margin: 0 auto !important;
  }

  .advisor-workspace {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: clamp(28px, 3vw, 46px) !important;
    overflow: visible !important;
  }

  .workspace-head h1 {
    font-size: clamp(56px, 4.8vw, 82px) !important;
  }

  .value-line {
    max-width: 860px;
    margin-top: 16px !important;
  }

  .consultation-console {
    grid-template-rows: auto minmax(92px, auto) auto !important;
    margin-top: clamp(18px, 3vh, 34px) !important;
    gap: 12px !important;
  }

  .advisor-input {
    min-height: 128px !important;
  }

  .agent-output-drawer {
    min-height: 112px !important;
    max-height: 168px !important;
  }

  .prompt-grid {
    display: none !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (max-width: 1280px) {
  .boundary-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .boundary-detail-grid article {
    min-height: 0;
  }
}

@media (max-width: 900px) {
  .page-shell {
    padding-bottom: 18px !important;
  }

  .advisor-hero {
    gap: 12px !important;
  }

  .bottom-note-strip,
  .boundary-open {
    display: none !important;
  }

  .boundary-card {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: 3 !important;
    width: min(100%, 1720px) !important;
    max-height: none !important;
    margin: 10px auto 0 !important;
    pointer-events: auto !important;
  }

  .boundary-content {
    max-height: none;
    overflow: visible;
    padding: 18px 14px;
    border-radius: 18px;
  }

  .boundary-content__head h2 {
    font-size: 28px;
  }

  .boundary-detail-grid {
    grid-template-columns: 1fr;
  }

  .boundary-content__footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .voice-panel[data-voice-state="preparingSpeech"],
  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="speechReady"],
  .voice-panel[data-voice-state="stopped"],
  .voice-panel[data-voice-state="error"] {
    grid-template-columns: 1fr;
  }

  .voice-panel:not([data-voice-state]),
  .voice-panel[data-voice-state="idle"],
  .voice-panel[data-voice-state="listening"],
  .voice-panel[data-voice-state="transcribing"],
  .voice-panel[data-voice-state="transcribed"] {
    display: grid !important;
  }
}

/* 2026-05-25 focused header network/navigation refinement */
@media (min-width: 901px) {
  :root {
    --header-h: 62px;
  }

  .site-header {
    width: min(100% - 40px, 1480px) !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 5px 0 !important;
    display: grid !important;
    grid-template-columns: minmax(150px, 190px) minmax(280px, 420px) minmax(300px, max-content) !important;
    align-items: center !important;
    gap: clamp(18px, 3vw, 56px) !important;
  }

  .site-header::before {
    inset: 6px -10px 6px !important;
    border-radius: 999px !important;
    background: rgba(249, 248, 244, .72) !important;
    border-color: rgba(255, 255, 255, .72) !important;
    box-shadow: 0 14px 44px rgba(16, 24, 39, .055) !important;
  }

  .brand {
    min-height: 42px !important;
  }

  .brand img {
    width: clamp(142px, 11vw, 170px) !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
  }

  .site-header .official-home-banner {
    width: min(100%, 420px) !important;
    min-height: 32px !important;
    margin: 0 auto !important;
    padding: 4px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    border-color: rgba(14, 129, 120, .13) !important;
    background: rgba(255, 255, 255, .46) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.86) !important;
  }

  .site-header .official-home-banner__label {
    display: none !important;
  }

  .site-header .official-home-banner a {
    min-height: 24px !important;
    padding: 0 9px 0 5px !important;
    grid-template-columns: 16px minmax(0, auto) !important;
    justify-content: start !important;
    gap: 8px !important;
    border-color: rgba(14, 129, 120, .08) !important;
    background: rgba(255, 255, 255, .42) !important;
  }

  .site-header .official-home-banner a:hover,
  .site-header .official-home-banner a:focus-visible {
    transform: translateY(-1px) !important;
    border-color: rgba(14, 129, 120, .18) !important;
    background: rgba(255, 255, 255, .72) !important;
    box-shadow: 0 8px 20px rgba(16,24,39,.055) !important;
  }

  .site-header .official-home-banner__icon {
    width: 16px !important;
    height: 16px !important;
    display: grid !important;
    place-items: center !important;
    color: #147c73 !important;
    background: rgba(221, 248, 242, .72) !important;
    box-shadow: inset 0 0 0 1px rgba(14,129,120,.12) !important;
    font-size: 9px !important;
    line-height: 1 !important;
  }

  .site-header .official-home-banner strong {
    min-width: 0 !important;
    overflow: hidden !important;
    color: #12202b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .site-header .official-home-banner em {
    display: none !important;
  }

  .site-nav {
    justify-self: end !important;
    gap: 8px !important;
  }

  .site-nav a {
    min-height: 38px !important;
    padding-inline: 14px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
  }

  .site-nav .nav-cta {
    padding-inline: 20px !important;
  }

  .menu-button {
    display: none !important;
  }
}

@media (max-width: 900px) {
  :root {
    --header-h: calc(56px + env(safe-area-inset-top, 0px));
  }

  .site-header {
    width: min(calc(100vw - 10px), 720px) !important;
    height: var(--header-h) !important;
    min-height: var(--header-h) !important;
    padding: max(5px, env(safe-area-inset-top, 0px)) 0 5px !important;
    display: grid !important;
    grid-template-columns: clamp(70px, 22vw, 96px) minmax(140px, 1fr) auto !important;
    grid-template-areas: "brand network nav" !important;
    align-items: center !important;
    gap: 5px !important;
  }

  .site-header::before {
    inset: max(4px, env(safe-area-inset-top, 0px)) -4px 4px !important;
    border-radius: 999px !important;
    background: rgba(249, 248, 244, .78) !important;
    border-color: rgba(255,255,255,.74) !important;
    box-shadow: 0 12px 34px rgba(16,24,39,.055) !important;
  }

  .brand {
    grid-area: brand !important;
    min-width: 0 !important;
    min-height: 42px !important;
  }

  .brand img {
    width: clamp(70px, 22vw, 96px) !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: left center !important;
    border-radius: 0 !important;
  }

  .site-nav {
    grid-area: nav !important;
    justify-self: end !important;
    gap: 4px !important;
  }

  .site-nav > a:not(.nav-cta) {
    display: none !important;
  }

  .site-nav .nav-cta {
    width: 46px !important;
    min-height: 34px !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    justify-content: center !important;
    font-size: 0 !important;
  }

  .site-nav .nav-cta::after {
    content: "预约";
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
  }

  .menu-button {
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    background: rgba(255,255,255,.64) !important;
  }

  .site-header .official-home-banner {
    grid-area: network !important;
    width: min(100%, 420px) !important;
    min-width: 0 !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 3px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    border-color: rgba(14,129,120,.13) !important;
    background: rgba(255,255,255,.48) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.86) !important;
  }

  .site-header .official-home-banner__label {
    display: none !important;
  }

  .site-header .official-home-banner a {
    min-height: 26px !important;
    padding: 0 4px !important;
    grid-template-columns: 13px minmax(0, auto) !important;
    justify-content: center !important;
    gap: 3px !important;
    border-color: rgba(14,129,120,.08) !important;
    background: rgba(255,255,255,.42) !important;
  }

  .site-header .official-home-banner__icon {
    width: 13px !important;
    height: 13px !important;
    display: grid !important;
    place-items: center !important;
    color: #147c73 !important;
    background: rgba(221,248,242,.72) !important;
    box-shadow: inset 0 0 0 1px rgba(14,129,120,.12) !important;
    font-size: 8px !important;
    line-height: 1 !important;
  }

  .site-header .official-home-banner strong {
    min-width: 0 !important;
    overflow: hidden !important;
    font-size: 9.4px !important;
    font-weight: 700 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .site-header .official-home-banner em {
    display: none !important;
  }

  .site-menu {
    top: calc(var(--header-h) + 6px) !important;
    right: 12px !important;
  }

  .page-shell {
    height: calc(100dvh - var(--header-h) - var(--footer-h, 0px) - 8px) !important;
    max-height: calc(100dvh - var(--header-h) - var(--footer-h, 0px) - 8px) !important;
  }
}

@media (max-width: 390px) {
  .site-header {
    gap: 4px !important;
    grid-template-columns: clamp(68px, 21vw, 82px) minmax(134px, 1fr) auto !important;
  }

  .site-nav {
    gap: 6px !important;
  }

  .site-nav .nav-cta {
    width: 44px !important;
    min-height: 32px !important;
    padding-inline: 7px !important;
  }

  .menu-button {
    width: 32px !important;
    height: 32px !important;
  }

  .site-header .official-home-banner a {
    padding-inline: 3px !important;
    gap: 2px !important;
  }

  .site-header .official-home-banner__icon {
    display: grid !important;
    width: 12px !important;
    height: 12px !important;
  }

  .site-header .official-home-banner strong {
    font-size: 8.8px !important;
  }
}

@media (max-width: 480px) {
  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="preparingSpeech"] {
    min-height: 58px !important;
    max-height: 62px !important;
    padding: 6px 10px !important;
    grid-template-rows: 28px 10px !important;
    gap: 4px !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__head,
  .voice-panel[data-voice-state="paused"] .voice-panel__head,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__head {
    height: 28px !important;
    grid-template-columns: auto minmax(96px, 1fr) 104px !important;
    grid-template-rows: 1fr !important;
    gap: 7px !important;
  }

  .voice-panel[data-voice-state="speaking"] #voice-status,
  .voice-panel[data-voice-state="paused"] #voice-status,
  .voice-panel[data-voice-state="preparingSpeech"] #voice-status {
    grid-column: 1 !important;
    max-width: 82px !important;
  }

  .voice-panel[data-voice-state="speaking"] .broadcast-wave,
  .voice-panel[data-voice-state="paused"] .broadcast-wave,
  .voice-panel[data-voice-state="preparingSpeech"] .broadcast-wave {
    grid-column: 2 !important;
    width: 100% !important;
    height: 18px !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-time,
  .voice-panel[data-voice-state="paused"] .voice-time,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-time {
    position: absolute;
    left: clamp(172px, 48%, 214px);
    right: auto;
    bottom: 15px;
    z-index: 2;
    padding: 0 4px;
    background: rgba(255,255,255,.72);
    border-radius: 999px;
    font-size: 9px !important;
    line-height: 1.4;
    pointer-events: none;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__actions,
  .voice-panel[data-voice-state="paused"] .voice-panel__actions,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__actions {
    grid-column: 3 !important;
    width: 104px !important;
    max-width: 104px !important;
    justify-content: flex-end;
    gap: 4px !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__actions button,
  .voice-panel[data-voice-state="paused"] .voice-panel__actions button,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__actions button {
    max-width: none !important;
    min-height: 25px !important;
    padding: 0 7px !important;
    font-size: 10px !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__actions #voice-pause,
  .voice-panel[data-voice-state="paused"] .voice-panel__actions #voice-pause,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__actions #voice-pause {
    width: 38px !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__actions #voice-stop,
  .voice-panel[data-voice-state="paused"] .voice-panel__actions #voice-stop,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__actions #voice-stop {
    width: 62px !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-scrubber-wrap,
  .voice-panel[data-voice-state="paused"] .voice-scrubber-wrap,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-scrubber-wrap {
    position: static !important;
    grid-row: 2 !important;
    width: calc(100% - 111px) !important;
    min-height: 10px !important;
    height: 10px !important;
    padding: 0 0 0 calc(82px + 7px) !important;
    overflow: visible !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-scrubber,
  .voice-panel[data-voice-state="paused"] .voice-scrubber,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-scrubber {
    width: 100% !important;
    height: 10px !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-scrub-bubble,
  .voice-panel[data-voice-state="paused"] .voice-scrub-bubble,
  .voice-panel[data-voice-state="preparingSpeech"] .voice-scrub-bubble {
    display: none !important;
  }

  .voice-panel[data-voice-state="paused"] .voice-panel__head {
    grid-template-columns: auto minmax(70px, 1fr) 174px !important;
  }

  .voice-panel[data-voice-state="paused"] .voice-time {
    left: 92px !important;
    bottom: 15px !important;
    z-index: 1 !important;
  }

  .voice-panel[data-voice-state="paused"] .voice-panel__actions {
    width: 174px !important;
    max-width: 174px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    z-index: 3 !important;
  }

  .voice-panel[data-voice-state="paused"] .voice-panel__actions #voice-pause {
    width: 38px !important;
    flex: 0 0 38px !important;
  }

  .voice-panel[data-voice-state="paused"] .voice-panel__actions #voice-stop,
  .voice-panel[data-voice-state="paused"] .voice-panel__actions #voice-replay {
    width: 64px !important;
    flex: 0 0 64px !important;
  }

  .voice-panel[data-voice-state="paused"] .voice-scrubber-wrap {
    width: calc(100% - 181px) !important;
  }
}

/* 2026-05-25 mobile-only voice playback and boundary menu fit. */
@media (max-width: 900px) {
  .boundary-card.is-open {
    display: block !important;
    position: fixed !important;
    top: calc(var(--header-h) + 10px) !important;
    left: 12px !important;
    right: 12px !important;
    z-index: 90 !important;
    width: auto !important;
    max-height: calc(100dvh - var(--header-h) - 24px) !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }

  .boundary-card.is-open .boundary-content {
    max-height: calc(100dvh - var(--header-h) - 24px) !important;
    overflow: auto !important;
    padding: 18px 14px !important;
    border-radius: 18px !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 480px) {
  .voice-panel[data-voice-state="preparingSpeech"],
  .voice-panel[data-voice-state="speaking"],
  .voice-panel[data-voice-state="paused"],
  .voice-panel[data-voice-state="speechReady"],
  .voice-panel[data-voice-state="stopped"] {
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 5px 10px !important;
    grid-template-rows: 1fr !important;
    gap: 0 !important;
    overflow: hidden !important;
  }

  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__head,
  .voice-panel[data-voice-state="speaking"] .voice-panel__head,
  .voice-panel[data-voice-state="paused"] .voice-panel__head,
  .voice-panel[data-voice-state="speechReady"] .voice-panel__head,
  .voice-panel[data-voice-state="stopped"] .voice-panel__head {
    height: 100% !important;
    min-height: 0 !important;
    grid-template-columns: minmax(46px, auto) minmax(34px, 1fr) auto auto !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    gap: 4px !important;
  }

  .voice-panel[data-voice-state="preparingSpeech"] #voice-status,
  .voice-panel[data-voice-state="speaking"] #voice-status,
  .voice-panel[data-voice-state="paused"] #voice-status,
  .voice-panel[data-voice-state="speechReady"] #voice-status,
  .voice-panel[data-voice-state="stopped"] #voice-status {
    grid-column: 1 !important;
    max-width: 58px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  .voice-panel[data-voice-state="preparingSpeech"] .broadcast-wave,
  .voice-panel[data-voice-state="speaking"] .broadcast-wave,
  .voice-panel[data-voice-state="paused"] .broadcast-wave,
  .voice-panel[data-voice-state="speechReady"] .broadcast-wave,
  .voice-panel[data-voice-state="stopped"] .broadcast-wave {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 18px !important;
    gap: 1.5px !important;
  }

  .voice-panel[data-voice-state="preparingSpeech"] .voice-time,
  .voice-panel[data-voice-state="speaking"] .voice-time,
  .voice-panel[data-voice-state="paused"] .voice-time,
  .voice-panel[data-voice-state="speechReady"] .voice-time,
  .voice-panel[data-voice-state="stopped"] .voice-time {
    position: static !important;
    grid-column: 3 !important;
    align-self: center !important;
    display: inline-block !important;
    min-width: 50px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    color: rgba(48,57,74,.72) !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    text-align: left !important;
    pointer-events: none !important;
  }

  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__actions,
  .voice-panel[data-voice-state="speaking"] .voice-panel__actions,
  .voice-panel[data-voice-state="paused"] .voice-panel__actions,
  .voice-panel[data-voice-state="speechReady"] .voice-panel__actions,
  .voice-panel[data-voice-state="stopped"] .voice-panel__actions {
    grid-column: 4 !important;
    width: auto !important;
    max-width: 144px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    gap: 3px !important;
    overflow: hidden !important;
    z-index: 2 !important;
  }

  .voice-panel .voice-panel__actions button {
    min-height: 24px !important;
    max-height: 24px !important;
    padding: 0 6px !important;
    overflow: hidden !important;
    font-size: 9px !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .voice-panel[data-voice-state="speaking"] .voice-panel__actions #voice-pause,
  .voice-panel[data-voice-state="paused"] .voice-panel__actions #voice-pause {
    width: 34px !important;
    flex: 0 0 34px !important;
  }

  .voice-panel[data-voice-state="preparingSpeech"] .voice-panel__actions #voice-stop,
  .voice-panel[data-voice-state="speaking"] .voice-panel__actions #voice-stop {
    width: 54px !important;
    flex: 0 0 54px !important;
  }

  .voice-panel[data-voice-state="paused"] .voice-panel__actions #voice-replay,
  .voice-panel[data-voice-state="speechReady"] .voice-panel__actions #voice-replay,
  .voice-panel[data-voice-state="stopped"] .voice-panel__actions #voice-replay {
    width: 46px !important;
    flex: 0 0 46px !important;
  }

  .voice-panel[data-voice-state="paused"] .voice-panel__actions #voice-stop {
    width: 50px !important;
    flex: 0 0 50px !important;
  }

  .voice-panel[data-voice-state="preparingSpeech"] .voice-scrubber-wrap,
  .voice-panel[data-voice-state="speaking"] .voice-scrubber-wrap,
  .voice-panel[data-voice-state="paused"] .voice-scrubber-wrap,
  .voice-panel[data-voice-state="speechReady"] .voice-scrubber-wrap,
  .voice-panel[data-voice-state="stopped"] .voice-scrubber-wrap {
    display: none !important;
  }
}

/* 2026-05-25 Xiaobu V3 layered WEBP renderer */
.bio-core.bio-core--layered-v3 {
  filter:
    drop-shadow(0 42px 124px rgba(200,238,231,.28))
    drop-shadow(0 18px 48px rgba(255,236,187,.12))
    drop-shadow(0 10px 28px rgba(73,151,144,.08)) !important;
}

.bio-core.bio-core--layered-v3 .bio-core__image-stack {
  inset: -13% !important;
  opacity: 1 !important;
  z-index: 20 !important;
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0 60%, rgba(0,0,0,.82) 64%, rgba(0,0,0,.3) 68%, rgba(0,0,0,.07) 71%, transparent 74%) !important;
  mask-image: radial-gradient(circle at 50% 50%, #000 0 60%, rgba(0,0,0,.82) 64%, rgba(0,0,0,.3) 68%, rgba(0,0,0,.07) 71%, transparent 74%) !important;
}

.bio-core.bio-core--layered-v3::before,
.bio-core.bio-core--layered-v3::after {
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
  pointer-events: none !important;
}

.bio-core.bio-core--layered-v3 .bio-svg-core,
.bio-core.bio-core--layered-v3 .holographic-rings,
.bio-core.bio-core--layered-v3 .neural-filament-lattice,
.bio-core.bio-core--layered-v3 .bio-membrane,
.bio-core.bio-core--layered-v3 .bio-core-body,
.bio-core.bio-core--layered-v3 .living-particles,
.bio-core.bio-core--layered-v3 .optical-debris,
.bio-core.bio-core--layered-v3 .voice-wave,
.bio-core.bio-core--layered-v3 .voice-pulse-field,
.bio-core.bio-core--layered-v3 .scan-ring,
.bio-core.bio-core--layered-v3 .success-ripple,
.bio-core.bio-core--layered-v3 .resonance-haze,
.bio-core.bio-core--layered-v3 .bio-core-glass-highlight,
.bio-core.bio-core--layered-v3 .bio-core-resonance-overlay {
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
  pointer-events: none !important;
}

.bio-core.bio-core--layered-v3 .bio-aura {
  inset: -8% !important;
  opacity: .64 !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,252,.58) 0 18%, rgba(221,249,244,.24) 42%, rgba(235,248,240,.14) 62%, transparent 78%),
    radial-gradient(circle at 57% 43%, rgba(255,238,190,.13), transparent 52%) !important;
  filter: blur(30px) saturate(1.02) brightness(1.08);
}

.bio-core.bio-core--layered-v3 .bio-core-canvas {
  inset: -16% !important;
  width: 132% !important;
  height: 132% !important;
  z-index: 62 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  transform:
    rotateX(var(--orb-touch-tilt-x))
    rotateY(var(--orb-touch-tilt-y))
    scale(calc(1 + var(--voice-low) * .01 + var(--voice-onset) * .006)) !important;
  transform-origin: 50% 50%;
}

.bio-core.bio-core--layered-v3.core-respond .bio-core-canvas {
  filter: saturate(1.12) brightness(1.045) !important;
}

.bio-core.bio-core--layered-v3[data-state="speaking"],
.bio-core.bio-core--layered-v3.is-speaking {
  filter:
    drop-shadow(0 48px 136px rgba(205,244,237,.34))
    drop-shadow(0 20px 58px rgba(255,235,178,.18))
    drop-shadow(0 10px 30px rgba(73,151,144,.09)) !important;
}

.bio-core.bio-core--layered-v3[data-state="speaking"] .bio-aura,
.bio-core.bio-core--layered-v3.is-speaking .bio-aura {
  opacity: .72 !important;
  filter: blur(32px) saturate(1.04) brightness(1.12);
}

@media (max-width: 900px) {
  .bio-core.bio-core--layered-v3 .bio-core__image-stack {
    inset: -2% !important;
  }

  .bio-core.bio-core--layered-v3 .bio-core-canvas {
    inset: -5% !important;
    width: 110% !important;
    height: 110% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bio-core.bio-core--layered-v3 .bio-core-canvas {
    transform: none !important;
  }
}

body.motion-reduced .bio-core.bio-core--layered-v3 .bio-core-canvas {
  transform: none !important;
}

.orb-column::before,
.orb-column::after {
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
  visibility: visible !important;
}

.orb-column::before {
  left: 50% !important;
  top: 45% !important;
  width: min(860px, 132vw) !important;
  height: min(860px, 132vw) !important;
  transform: translate(-53%, -50%) !important;
  z-index: -2 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 48% 48%, rgba(232,255,250,.38) 0%, rgba(197,250,241,.23) 24%, rgba(109,224,208,.12) 48%, rgba(18,184,163,.055) 68%, transparent 92%),
    radial-gradient(circle at 58% 40%, rgba(255,236,188,.075) 0%, rgba(255,236,188,.035) 42%, transparent 76%) !important;
  filter: blur(48px) saturate(1.01) !important;
  opacity: .6 !important;
}

.orb-column::after {
  left: 50% !important;
  top: 48% !important;
  width: min(620px, 108vw) !important;
  height: min(620px, 108vw) !important;
  transform: translate(-50%, -50%) !important;
  z-index: -1 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.24) 0%, rgba(255,255,255,.13) 24%, transparent 58%),
    radial-gradient(circle at 50% 52%, rgba(165,242,231,.11) 0%, rgba(165,242,231,.055) 48%, transparent 84%) !important;
  filter: blur(28px) !important;
  opacity: .5 !important;
}

.bio-core.bio-core--layered-v3 .bio-aura {
  visibility: visible !important;
  z-index: 12 !important;
  inset: -18% !important;
  opacity: .58 !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,252,.34) 0%, rgba(222,251,246,.2) 26%, rgba(119,229,214,.095) 52%, transparent 82%),
    radial-gradient(circle at 58% 42%, rgba(255,232,178,.075) 0%, transparent 64%) !important;
  filter: blur(38px) saturate(1.02) brightness(1.03) !important;
}

.bio-core.bio-core--layered-v3 .bio-core-canvas {
  filter:
    drop-shadow(0 0 26px rgba(196,248,239,.22))
    drop-shadow(0 30px 96px rgba(18,184,163,.18))
    saturate(1.05)
    contrast(1.01) !important;
}

.bio-core.bio-core--layered-v3 .bio-core__image-stack {
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0 61%, rgba(0,0,0,.9) 65%, rgba(0,0,0,.48) 70%, rgba(0,0,0,.15) 75%, transparent 80%) !important;
  mask-image: radial-gradient(circle at 50% 50%, #000 0 61%, rgba(0,0,0,.9) 65%, rgba(0,0,0,.48) 70%, rgba(0,0,0,.15) 75%, transparent 80%) !important;
}

/* 2026-05-25: anti-banding environment pass. Canvas owns the cut-out orb; the RGB fallback stack stays hidden. */
body {
  background:
    linear-gradient(135deg, #f8f7f1 0%, #fbfaf6 42%, #f5fbf8 72%, #eff8f5 100%) !important;
}

.bio-core.bio-core--layered-v3 .bio-core__image-stack {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.fs-background {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='168' height='168' viewBox='0 0 168 168'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 .56 0 0 0 0 .74 0 0 0 0 .70 0 0 0 .052 0'/%3E%3C/filter%3E%3Crect width='168' height='168' filter='url(%23n)'/%3E%3C/svg%3E"),
    linear-gradient(126deg, rgba(255,255,255,.1), rgba(221,248,242,.052) 46%, rgba(255,255,255,.09)) !important;
  background-size: 168px 168px, 100% 100% !important;
  opacity: .52 !important;
}

.fs-background::before,
.fs-background::after {
  opacity: .28 !important;
  filter: blur(.4px) !important;
}

.orb-column::before {
  background: rgba(206, 248, 240, .18) !important;
  filter: blur(96px) saturate(1.01) !important;
  opacity: .34 !important;
}

.orb-column::after {
  background: rgba(255, 255, 255, .2) !important;
  filter: blur(72px) !important;
  opacity: .26 !important;
}

.bio-core.bio-core--layered-v3 .bio-aura {
  background: rgba(222, 251, 246, .16) !important;
  filter: blur(58px) saturate(1.01) brightness(1.02) !important;
  opacity: .34 !important;
}

body::before {
  opacity: .16 !important;
}
