/* Product styles follow the approved 2026-09-05 interaction prototype. */
:root {
  --canvas:#ffffff; --canvas-deep:#ffffff; --surface:#f7fbfd; --surface-soft:#f0f7fb; --surface-warm:#e7f1f7;
  --ink:#223b50; --ink-soft:#4b667b; --muted:#6c8799; --muted-light:#8aa3b3;
  --line:#d5e5ee99; --line-strong:#c5dbe8; --brand:#688fa9; --brand-deep:#40667f; --brand-soft:#e8f3f9;
  --focus:0 0 0 3px #bddce966;
  --glass-surface:linear-gradient(145deg,#edf8ffd9,#dceff9a6);
  --glass-edge:#ffffffa6;
  --glass-shadow:inset 0 1px 0 #ffffffeb,inset 0 -1px 0 #ffffff33,0 4px 14px #26374708;
  --ui-card:linear-gradient(150deg,#ffffffb8,#e6f1f7a6);
  --ui-control:linear-gradient(160deg,#f8fcfdcc,#dfedf580);
  --ui-floating:linear-gradient(160deg,#fafdfff5,#eef6fbf5);
  --ui-field:linear-gradient(155deg,#e6f0f6a6,#f5fafdcc);
  --ui-primary:linear-gradient(155deg,#658ba1,#4b728a);
  --ui-card-shadow:inset 0 1px 0 #fffffff2,0 2px 5px #34576c0a;
  --ui-control-shadow:inset 0 1px 0 #ffffffd9,0 1px 3px #34576c0a;
  --ui-floating-shadow:inset 0 1px 0 #fff,0 8px 28px #385b7017;
  --ui-primary-shadow:inset 0 1px 0 #ffffff40,0 2px 4px #34576c1a;
  --shadow-shell:0 18px 50px #385b7012; --shadow-float:0 16px 40px #385b7022;
}
body.chatPage { padding:0; background:#ffffff; color:var(--ink); }
.chatPage .appShell.experience { position:relative; display:flex; flex-direction:column; width:min(100%,1080px); height:100dvh; min-height:0; margin:0 auto; border:0; border-radius:0; background:#ffffff; box-shadow:none; overflow:hidden; }
.chatPage .experience .appHeader { position:relative; flex:0 0 auto; min-height:74px; padding:12px 22px; padding-top:max(12px,env(safe-area-inset-top)); display:grid; grid-template-columns:44px 1fr 70px; align-items:center; gap:10px; background:#ffffff; border-bottom:1px solid var(--line); }
.experience .brand { display:block; text-align:center; }
.chatPage .experience .brandName { max-width:none; font-size:16px; font-weight:500; color:var(--ink); }
.experience .brand small { display:block; margin-top:3px; color:var(--muted); font-size:11px; }
.chatPage .experience .headerActions { position:static; justify-content:flex-end; }
.chatPage .experience .factsButton { border:1px solid transparent; border-radius:24px; background:var(--ui-control); min-height:36px; color:var(--ink-soft); box-shadow:var(--ui-control-shadow); }
.experience .countBadge { background:#e3eef5; color:var(--ink-soft); border-radius:50%; font-weight:400; }
.experienceMenuToggle { border:0; color:#56758a; background:transparent; width:44px; height:44px; font-size:19px; }
.chatPage .experience[data-page="content"] .appHeader { grid-template-columns:84px minmax(0,1fr) 84px; }
.consultationBack { display:flex; align-items:center; justify-self:start; gap:2px; min-height:44px; padding:8px 2px; border:0; border-radius:10px; background:transparent; color:var(--ink-soft); font-size:12px; white-space:nowrap; touch-action:manipulation; }
.consultationBack svg { flex:none; width:20px; height:20px; }
@media (hover:hover) and (pointer:fine) { .consultationBack:hover { background:#deecf580; color:#355d76; } }
.experienceMenu { position:absolute; z-index:80; top:76px; left:16px; width:240px; padding:24px 18px; border:1px solid #ffffffb3; border-radius:18px; background:var(--ui-floating); box-shadow:var(--ui-floating-shadow);  }
.experienceMenu p { margin:4px 0 20px; color:var(--muted); font-size:12px; }
.experienceMenu button { display:block; text-align:left; width:100%; padding:13px 10px; border:0; border-radius:9px; background:transparent; color:var(--ink); }
.experienceMenu button:hover { background:#eaf4f9; }
.experience .appLayout { display:flex; flex:1; min-height:0; overflow:hidden; }
.chatPage .experience .conversationPanel { display:flex; flex-direction:column; flex:1; min-height:0; min-width:0; background:transparent; }
.experience .messageViewport { position:relative; display:flex; flex:1; min-height:0; flex-direction:column; overflow:hidden; }
.chatPage .experience .messages { flex:1; min-height:0; width:100%; padding:26px max(20px,calc((100% - 760px)/2)) 32px; background:transparent; overflow-y:auto; overscroll-behavior:contain; }
.experience[data-chat-started="false"]:not([data-opening-visible="true"]) .messages:not([aria-busy="true"]) { display:none; }
.conversationScroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.chatPage .experience .conversationScroll .messages { flex:none; height:auto; overflow:visible; }
.chatPage .experience .conversationScroll:has(.replyActivity:not([hidden])) .messages { padding-bottom:0; }
.homeWelcome { text-align:center; padding:40px 20px 24px; }
.identityAvatar { display:block; flex:none; width:36px; height:36px; border:0; border-radius:50%; background:transparent url('/assets/brand/assistant-full.jpg') center/82% 82% no-repeat; object-fit:contain; padding:3px; mix-blend-mode:multiply; }
img.identityAvatar { background:transparent; padding:3px;  }
img.heroAvatar { width:100px; height:100px; padding:9px; margin:0 auto 18px; border:0; background:transparent; mix-blend-mode:multiply; box-shadow:none; }
.homeWelcome h1,.salesWelcome h1 { color:var(--ink); margin:0 0 12px; font-size:22px; line-height:1.5; font-weight:500; }
.homeWelcome p,.salesWelcome p { color:var(--ink-soft); margin:0 0 22px; font-size:14px; }
.homeWelcome>small,.salesWelcome>small { font-size:12px; color:var(--muted); }
.welcomeQuestions { max-width:540px; margin:38px auto 0; text-align:left; }
.questionsHeading { display:flex; justify-content:space-between; align-items:center; color:var(--ink-soft); font-size:12px; margin-bottom:14px; }
.questionsHeading button { min-height:44px; border:0; border-radius:8px; background:transparent; padding:10px 4px; color:var(--ink-soft); font-size:12px; }
.questionGrid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.questionGrid button { padding:16px 14px; min-height:52px; text-align:left; border:1px solid transparent; border-radius:14px; color:var(--ink); background:var(--ui-control); box-shadow:var(--ui-control-shadow); font-size:13px; line-height:1.6; }
.questionGrid button:last-child { grid-column:1/-1; }
.homeContent { max-width:540px; margin:26px auto 0; padding-top:12px; border-top:1px solid #d5e5ee99; text-align:left; }
.homeContentHeading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; font-size:12px; color:var(--ink-soft); }
.contentEntry { display:flex; align-items:center; gap:6px; flex:none; min-height:44px; padding:8px 4px; border:0; border-radius:8px; background:transparent; color:var(--ink-soft); font-size:12px; }
.homeVideoEntry { display:grid; grid-template-columns:104px minmax(0,1fr) 16px; align-items:center; gap:12px; width:100%; padding:12px; border:1px solid transparent; border-radius:16px; background:var(--ui-card); box-shadow:var(--ui-card-shadow); color:var(--ink); text-align:left; }
.homeVideoCover { position:relative; isolation:isolate; display:grid; place-items:center; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:10px; background:linear-gradient(145deg,#cbdfe9,#e1edf4); box-shadow:inset 0 1px 2px #496e8112; color:#486e84; }
.homeVideoCover img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.videoCoverFallback { padding:10px; color:var(--ink-soft); font-size:11px; line-height:1.6; text-align:center; }
.homeVideoCopy { min-width:0; display:grid; gap:7px; }
.homeVideoCopy strong { font-size:13px; font-weight:500; line-height:1.6; overflow-wrap:anywhere; }
.homeVideoCopy small { font-size:11px; color:var(--muted); }
.homeVideoMeta { display:flex; align-items:center; gap:4px; line-height:1.5; }
.homeVideoMeta svg { flex:none; width:14px; height:14px; }
.homeVideoArrow { width:16px; height:16px; color:#69889a; }
.chatPage .experience :is(.questionGrid button,.homeVideoEntry,.composer button,.salesComposer .sendButton,.contentEntry,.questionsHeading button) { touch-action:manipulation; transition:transform 120ms cubic-bezier(.23,1,.32,1); }
.chatPage .experience :is(.questionGrid button,.homeVideoEntry,.composer button,.salesComposer .sendButton,.contentEntry,.questionsHeading button):focus-visible { outline:2px solid #62899f; outline-offset:3px; transition:none; }
.chatPage .experience :is(.questionGrid button,.homeVideoEntry,.composer button,.salesComposer .sendButton):active:not(:disabled):not(:focus-visible) { transform:scale(.98); }
@media (hover:hover) and (pointer:fine) {
  .experience :is(.questionGrid button,.homeVideoEntry):hover { background:linear-gradient(150deg,#f7fcff,#dcecf5b3); box-shadow:inset 0 1px 0 #fff,0 2px 5px #34576c12; }
  .chatPage .experience :is(.voiceButton,.moreButton):hover:not(:disabled),.experience :is(.contentEntry,.questionsHeading button):hover { background:#deecf580; color:#355d76; }
  .chatPage .experience .sendButton:hover:not(:disabled) { background:#44677f; color:#fff; }
}
@media (prefers-reduced-motion:reduce) {
  .chatPage .experience :is(.questionGrid button,.homeVideoEntry,.composer button,.salesComposer .sendButton):active:not(:disabled):not(:focus-visible) { transform:none; }
}
.chatPage .experience .message { color:var(--ink); font-size:16px; line-height:1.65; margin:0 0 22px; }
.chatPage .experience .messageSegment { display:flex; gap:11px; align-items:flex-start; }
.chatPage .experience .messageContent,.chatPage .experience .message.user .messageContent { width:auto; min-width:0; max-width:min(76%,560px); box-shadow:none; }
.chatPage .experience .messageAvatar,.chatPage .experience .message.user .messageAvatar { width:44px; height:44px; min-width:44px; flex:0 0 44px; margin:0; background:transparent; border:0; border-radius:50%; box-shadow:none; padding:3px; }
.chatPage .experience .messageAvatar img { width:100%; height:100%; padding:1px; border-radius:0; object-fit:contain; mix-blend-mode:multiply; }
.chatPage .experience .userAvatarButton { font-size:0; color:transparent; position:relative; }
.chatPage .experience .userAvatarButton::before,.defaultPerson::before { content:""; display:block; position:absolute; width:10px; height:10px; border:1.5px solid #829baa; border-radius:50%; left:50%; top:7px; transform:translateX(-50%); }
.chatPage .experience .userAvatarButton::after,.defaultPerson::after { content:""; display:block; position:absolute; width:22px; height:13px; border:1.5px solid #829baa; border-radius:11px 11px 3px 3px; background:transparent; left:50%; top:22px; bottom:auto; right:auto; transform:translateX(-50%); }
.defaultPerson { position:relative; background:transparent; }
/* Text bubbles reuse the home question buttons, with a slightly bluer user surface. */
.chatPage .experience .messageBubble,
.chatPage .experience .message.user .messageBubble,
.experience .localMessage .messageBubble {
  --bubble-surface:var(--ui-control);
  --bubble-edge:transparent;
  --bubble-corners:16px;
  position:relative;
  isolation:isolate;
  min-width:0;
  border:1px solid var(--bubble-edge);
  border-radius:var(--bubble-corners);
  background:var(--bubble-surface);
  box-shadow:var(--ui-control-shadow);
  padding:14px 18px;
  color:var(--ink);
  font-size:16px;
  line-height:1.65;
  font-weight:400;
  overflow:visible;
  overflow-wrap:anywhere;
}
.chatPage .experience .message.user .messageBubble,
.experience .localMessage.user .messageBubble {
  --bubble-surface:linear-gradient(160deg,#f2f9fdcc,#d4e7f380);
  --bubble-edge:transparent;
  --bubble-corners:16px;
}
.chatPage .experience .messageBubble::before,
.chatPage .experience .messageBubble::after,
.chatPage .experience .message.user .messageBubble::before,
.experience .localMessage .messageBubble::before,
.experience .localMessage .messageBubble::after { content:none; }
.chatPage .experience .messageBubble.attachmentBubble,
.chatPage .experience .message.user .messageBubble.attachmentBubble {
  padding:0;
  overflow:hidden;
}
.experience .messageBubble blockquote {
  margin:0 0 12px;
  padding:8px 12px;
  border-left:2px solid #9eb7c6;
  border-radius:2px 8px 8px 2px;
  background:#54758b0a;
  color:var(--ink-soft);
  font-size:13px;
  white-space:pre-wrap;
}
.experience .messageBubble p { margin:0 0 10px; }
.experience .messageBubble p:last-child { margin-bottom:0; }
.experience .messageBubble :is(strong,b) { font-weight:700; color:inherit; }
.experience .messageBubble :is(h1,h2,h3,h4) { color:var(--ink); }
.experience .messageBubble a,
.experience .message.user .messageBubble a { color:#315f79; }
.experience .messageBubble code,
.experience .message.user .messageBubble code { background:#54758b0d; color:#31566d; }
.experience .messageBubble pre { border:1px solid var(--bubble-edge); border-radius:10px; background:#eff4f7; color:var(--ink); }
.experience .messageBubble pre code,
.experience .message.user .messageBubble pre code { background:transparent; color:inherit; }
.experience .messageBubble :is(th,td) { border-color:var(--bubble-edge); }
.experience .messageBubble th { background:#edf3f6; color:var(--ink); }
.experience .messageBubble tr:nth-child(even) td { background:#54758b06; }
.experience .messageBubble hr { border-top-color:var(--bubble-edge); }
.experience .messageMeta { font-size:12px; color:var(--muted); }
.chatPage .experience .composerDock { flex:0 0 auto; max-width:800px; width:100%; align-self:center; position:relative; padding:10px 18px max(14px,env(safe-area-inset-bottom)); border:0; background:transparent; }
.chatPage .experience .composer { display:flex; flex-wrap:nowrap; align-items:center; min-height:64px; gap:8px; margin:0; padding:10px; border:1px solid #ffffffb3; border-radius:25px; background:linear-gradient(160deg,#fafdfff2,#eef6fbe6); box-shadow:inset 0 1px 0 #fff,0 4px 18px #385b7012; }
.chatPage .experience #messageInput { flex:1; width:0; min-width:0; min-height:44px; max-height:140px; padding:10px 4px; margin:0; background:transparent; border:0; border-radius:8px; color:var(--ink); font-size:16px; line-height:1.4; resize:none; }
.chatPage .experience #messageInput:focus-visible { outline:2px solid #92b6ca; outline-offset:0; box-shadow:none; }
.chatPage .experience .voiceButton,.chatPage .experience .moreButton,.chatPage .experience .sendButton { position:static; display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; min-width:44px; min-height:44px; padding:11px; margin:0; border:1px solid transparent; border-radius:50%; color:#57788e; background:transparent; box-shadow:none; transform:none; }
.chatPage .experience .voiceButton { padding:9px; color:#273238; }
.chatPage .experience .sendButton { padding:0; color:#fff; background:#52768d; box-shadow:none; line-height:1; }
.chatPage .experience .sendButton:disabled { opacity:1; color:#8b9da9; background:#dde7ed; box-shadow:none; cursor:default; }
.chatPage .experience .voiceButton[aria-pressed="true"] { color:#355d76; background:#dbeaf3; box-shadow:inset 0 1px 2px #34576c1a; }
.chatPage .experience .sendButton::before,.chatPage .experience .sendButton::after { content:none; }
.experience .sendButton svg,.experience .voiceButton svg,.experience .moreButton svg { display:block; width:20px; height:20px; }
.chatPage .experience .sendButton svg { width:22px; height:22px; stroke-width:2.25; }
.chatPage .experience .voiceButton svg { width:24px; height:24px; }
.chatPage .experience .composer .attachmentLabel,.chatPage .experience .composer .fileLabel { display:none; }
.chatPage .experience .composer>label:not(.visuallyHidden) { display:none; }
.chatPage .experience #attachmentButton,.chatPage .experience #fileButton { display:none; }
.chatPage .experience .composerTools { display:contents; }
.chatPage .experience .composerFoot { display:none; }
.chatPage .experience #composerHint { display:none; }
.chatPage .experience .composerMeta { display:contents; }
.chatPage .experience #chatStatus { position:static; min-width:0; margin:0; padding:0; color:var(--ink-soft); background:transparent; font-size:12px; line-height:1.6; text-align:left; overflow-wrap:anywhere; }
.chatPage .experience #retryButton { position:static; min-height:40px; padding:6px 9px; border:0; border-radius:10px; background:#dcebf399; box-shadow:none; color:var(--brand-deep); font-size:12px; white-space:nowrap; }
.experience #attachmentStatus:empty,.experience #voiceStatus:empty { display:none; }

.chatPage .experience .composerFooter { display:block; }
.chatPage .experience .composerFooter:not(:has(.statusActions:not([hidden]))) { display:none; }
.chatPage .experience .statusActions { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:8px; margin:0 0 8px; padding:6px 10px; border:1px solid #ffffff80; border-radius:14px; background:var(--ui-control); box-shadow:inset 0 1px 0 #ffffffa6; }
.chatPage .experience .statusActions[data-kind="error"] { background:linear-gradient(150deg,#f7f7f2d9,#e8eff4b3); }
.statusIcon { width:18px; height:18px; color:#7892a2; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }
.chatPage .experience :is(#attachmentStatus,#voiceStatus):not(:empty) { position:static; margin:0 0 8px; padding:10px 12px; border:1px solid #ffffff80; border-radius:14px; background:var(--ui-control); color:var(--ink-soft); font-size:12px; line-height:1.6; }
.replyActivity { display:flex; align-items:center; gap:11px; min-height:44px; padding:0 max(20px,calc((100% - 760px)/2)) 22px; color:#7798ab; }
.replyDots { display:inline-flex; align-items:center; gap:5px; min-height:32px; padding:0 8px; }
.replyDots i { display:block; width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.35; animation:reply-breathe 1.4s ease-in-out infinite; }
.replyDots i:nth-child(2) { animation-delay:.18s; }.replyDots i:nth-child(3) { animation-delay:.36s; }
@keyframes reply-breathe { 0%,70%,100% { opacity:.3; } 35% { opacity:.85; } }
@media (max-width:600px) { .replyActivity { padding-inline:16px; } }
@media (hover:hover) and (pointer:fine) { .chatPage .experience #retryButton:hover { background:#ccdfeb; } }
@media (prefers-reduced-motion:reduce) { .replyDots i { animation:none; opacity:.6; } }

.experience .mobileAttachmentTray { position:absolute; z-index:20; bottom:calc(100% - 8px); left:24px; background:var(--ui-floating); border:1px solid #ffffffb3; border-radius:16px; padding:8px; box-shadow:var(--ui-floating-shadow); }
.experience .jumpLatest { right:20px; bottom:14px; border:1px solid #ffffffb3; border-radius:22px; background:var(--ui-floating); color:var(--ink-soft); box-shadow:var(--ui-card-shadow);  }
.experienceStage { flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.contentPage { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:30px max(20px,calc((100% - 760px)/2)) max(30px,env(safe-area-inset-bottom)); }
.pageHeading h1 { font-size:24px; font-weight:500; margin:0 0 8px; }
.pageHeading p { font-size:13px; color:var(--muted); margin:0 0 26px; }
.contentCards { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
.contentPage .contentCard { grid-template-columns:clamp(112px,29%,196px) minmax(0,1fr) 16px; gap:18px; padding:14px; }
.contentPage .contentCard .homeVideoCopy { gap:10px; }
.contentPage .contentCard .homeVideoCopy strong { font-size:15px; line-height:1.65; }
.contentPage .contentCard .homeVideoCover { aspect-ratio:16/10; }
.contentPage .contentCard .articleCover { width:100%; height:auto; aspect-ratio:16/10; font-size:14px; line-height:1.7; }
.contentArticles { margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }
.contentPage>.exitCareRail { margin:20px 0 0; }
.articleCover { flex:0 0 86px; height:86px; display:grid; place-content:center; text-align:center; background:linear-gradient(145deg,#cbdfe9,#e1edf4); border-radius:10px; color:#608195;  }
.playerPage { flex:1; display:flex; flex-direction:column; min-height:0; position:relative; overflow-y:auto; background:transparent;  }
.playerTop { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; flex:none; font-size:12px; }
.playerTop button { background:transparent; border:0; color:var(--ink-soft); padding:10px 8px; min-height:44px; border-radius:10px; }
.videoStage { position:relative; width:100%; min-height:240px; flex:1; background:linear-gradient(150deg,#dceaf2,#edf6fa); overflow:hidden;  }
.videoStage video { width:100%; height:100%; position:absolute; inset:0; object-fit:contain; background:#192c3b; }
.videoPlaceholder { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:30px 80px 100px 30px; background:radial-gradient(ellipse at 30% 15%,#ffffffad,transparent 65%); }
.videoPlaceholder>span { color:#7190a3; letter-spacing:2px; font-size:12px; margin-bottom:28px; }
.videoPlaceholder h1 { max-width:460px; font-size:clamp(22px,4vw,38px); font-weight:500; line-height:1.7; }
.videoPlaceholder p { font-size:13px; color:var(--ink-soft); }
.videoPlaceholder small { font-size:11px; color:var(--muted); }
.videoMetadata { position:absolute; bottom:22px; left:22px; right:100px; color:#3d5b70; font-size:13px; pointer-events:none; }
.videoMetadata p { margin:6px 0 0; font-size:12px; }
.videoAction { position:absolute; right:18px; bottom:28px; display:grid; justify-items:center; gap:7px; border:0; background:var(--ui-floating); color:var(--ink); padding:9px 10px; border-radius:18px; box-shadow:var(--ui-card-shadow); }
.videoAction strong { font-size:12px; font-weight:500; }.videoAction .actionAvatar,.summaryIcon { width:54px; height:54px; border-radius:14px; border:0; background-color:transparent; }
.summaryIcon { display:grid; place-items:center; font-size:25px; color:#698da2; background:var(--ui-control); box-shadow:var(--ui-control-shadow); }
.videoControls { display:flex; flex:none; align-items:center; gap:10px; padding:16px 18px max(20px,env(safe-area-inset-bottom)); background:transparent;  }
.videoControls button { width:44px; flex:none; min-height:44px; border:0; background:var(--ui-control); color:var(--ink-soft); font-size:12px; border-radius:50%; box-shadow:var(--ui-control-shadow); }
.videoControls output { font-size:11px; color:var(--muted); font-variant-numeric:tabular-nums; }.videoProgress { min-width:0; flex:1; accent-color:#8cb5cb; }
.videoProgress { appearance:none; -webkit-appearance:none; min-height:24px; background:transparent; cursor:pointer; }
.videoProgress::-webkit-slider-runnable-track { height:4px; border-radius:4px; background:#ccdee9; box-shadow:inset 0 1px 1px #34576c12; }
.videoProgress::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:14px; height:14px; margin-top:-5px; border:2px solid #f5fafd; border-radius:50%; background:#688fa9; box-shadow:0 1px 3px #34576c22; }
.videoProgress::-moz-range-track { height:4px; border-radius:4px; background:#ccdee9; }
.videoProgress::-moz-range-progress { height:4px; border-radius:4px; background:#8bafc3; }
.videoProgress::-moz-range-thumb { width:10px; height:10px; border:2px solid #f5fafd; border-radius:50%; background:#688fa9; }
.playerPage.isLandscape .videoStage { aspect-ratio:16/9; flex:none; min-height:0; }.playerPage[data-orientation="portrait"]:not(.isLandscape) .videoStage { width:min(100%,430px); align-self:center; }
.videoGuide { position:absolute; z-index:25; inset:auto 14px 84px; max-height:75%; overflow-y:auto; border:1px solid #ffffffb3; border-radius:22px; padding:22px; background:var(--ui-floating); box-shadow:var(--ui-floating-shadow);  }
.guideHeading { display:flex; align-items:center; justify-content:space-between; gap:10px; }.guideHeading h2 { font-weight:500; font-size:18px; margin:0; }.guideHeading button { min-width:40px; min-height:40px; border:0; background:transparent; color:var(--muted); font-size:22px; }
.guideBody { padding:10px 0; font-size:14px; color:var(--ink-soft); }.guideBody button { display:block; width:100%; padding:12px; text-align:left; border:1px solid transparent; border-radius:12px; background:var(--ui-control); margin:8px 0; color:var(--ink); font-size:13px; box-shadow:var(--ui-control-shadow); }
.guidePrimary,.guideSecondary { width:100%; padding:13px; border:1px solid transparent; border-radius:14px; color:#fff; background:var(--ui-primary); box-shadow:var(--ui-primary-shadow); margin-top:8px; }.guideSecondary { background:var(--ui-control); color:var(--ink-soft); box-shadow:var(--ui-control-shadow); }
.salesPage { flex:1; min-height:0; display:flex; flex-direction:column; }
.salesContext { display:grid; text-align:left; gap:5px; width:calc(100% - 36px); margin:16px 18px 0; padding:12px 16px; border:1px solid transparent; border-radius:14px; background:var(--ui-card); color:var(--ink); box-shadow:var(--ui-card-shadow); }.salesContext span,.salesContext small { font-size:11px; color:var(--muted); }.salesContext strong { font-size:13px; font-weight:500; }
.salesScroll { flex:1; min-height:0; overflow-y:auto; padding:28px max(20px,calc((100% - 700px)/2)); }.salesWelcome { text-align:center; }.salesWelcome .questionGrid { margin-top:30px; }.salesMessages { display:grid; gap:24px; }
.localMessage .identityAvatar { width:44px; height:44px; }
.localMessage { display:flex; gap:10px; align-items:flex-start; }.localMessageContent { min-width:0; max-width:76%; }.localMessageContent>small { display:block; font-size:13px; color:#000; margin:0 0 7px 5px; }.localMessage.user { flex-direction:row-reverse; }.localMessage.user .localMessageContent>small { text-align:right; }
.salesDock { width:100%; max-width:800px; align-self:center; padding:10px 18px max(14px,env(safe-area-inset-bottom)); }.salesActions { display:flex; justify-content:flex-end; gap:10px; margin:0 0 14px; }.salesActions button { min-height:44px; padding:10px 16px; border:1px solid transparent; border-radius:16px; background:var(--ui-control); color:#60869e; font-size:12px; box-shadow:var(--ui-control-shadow); }
.salesComposer { display:flex; align-items:flex-end; gap:10px; padding:10px; background:var(--ui-floating); border:1px solid #ffffffb3; border-radius:25px; box-shadow:var(--ui-floating-shadow);  }.salesComposer textarea { flex:1; min-width:0; resize:none; border:0; border-radius:8px; background:transparent; color:var(--ink); padding:10px 4px; font-size:16px; max-height:140px; min-height:44px; line-height:1.4; }.salesComposer button { flex:none; border:1px solid transparent; border-radius:50%; background:var(--ui-primary); color:#fff; width:44px; height:44px; font-size:20px; box-shadow:var(--ui-primary-shadow); }
.quotePreview { display:flex; align-items:center; gap:10px; margin:0 10px 10px; border-left:2px solid #bad2df; padding-left:10px; color:#718999; font-size:12px; }.quotePreview span { flex:1; max-height:52px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }.quotePreview button { border:0; background:transparent; width:36px; height:36px; color:var(--muted); font-size:18px; }
.quoteMenu { position:absolute; z-index:100; background:#f6fbfbe6; border-radius:2px; box-shadow:0 3px 12px #385b700e; backdrop-filter:blur(8px); }.quoteMenu button { border:0; background:transparent; color:#6c8594; font-size:12px; padding:8px 10px; min-height:32px; }
.experience .messageBubble::selection,.experience .messageBubble *::selection { background:#c5dce67a; color:#385665; }
.exitCareRail { display:flex; align-items:flex-start; gap:10px; padding:13px; margin:0 0 10px; border:1px solid transparent; border-radius:14px; background:var(--ui-card); box-shadow:var(--ui-card-shadow); }.exitCareRail img { width:34px; height:34px; padding:3px; }.exitCareRail>div { flex:1; min-width:0; }.exitCareRail small { color:var(--muted); font-size:11px; }.exitCareRail p { font-size:13px; line-height:1.65; margin:5px 0; }.exitCareRail button { border:0; background:transparent; color:#62859a; min-height:32px; padding:4px; font-size:12px; }.exitCareRail>button { font-size:18px; }.exitCareRail div button { display:block; }
.experienceToast { position:absolute; z-index:200; bottom:110px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 40px); padding:12px 18px; border:1px solid #ffffffb3; border-radius:14px; background:var(--ui-floating); color:var(--ink-soft); box-shadow:var(--ui-floating-shadow); font-size:13px;  }
.chatPage .articleDialog { border:1px solid #ffffffb3; border-radius:18px; background:var(--ui-floating); color:var(--ink); box-shadow:var(--ui-floating-shadow); }.chatPage .articleContent { color:var(--ink); }.chatPage .articleHeader { background:#eef7fb; }.chatPage .articleActions { background:transparent;  }
.loginPage { background:linear-gradient(150deg,#f7fbfd,#e3f0f6); min-height:100dvh; }.loginPage .loginCard { border:1px solid #ffffffb3; border-radius:26px; box-shadow:var(--ui-floating-shadow); padding:32px; background:var(--ui-card); }.loginPage .companyLogo { width:100px; height:100px; padding:9px; border:0; border-radius:50%; object-fit:contain; background:transparent; margin:0 auto 14px; mix-blend-mode:multiply; }.loginPage .authSubmit { background:var(--ui-primary); color:#fff; box-shadow:var(--ui-primary-shadow); border-radius:14px; font-size:15px; font-weight:500; }.loginPage .authModeTab.isActive { background:var(--ui-floating); color:var(--ink); box-shadow:var(--ui-card-shadow); }.loginPage .eyebrow { color:var(--muted); }
@media (max-width:600px) {
  .chatPage .experience .appHeader { min-height:68px; padding-inline:14px; grid-template-columns:38px 1fr 58px; gap:4px; }.chatPage .experience .brandName { font-size:15px; }.experience .factsButtonLabel { font-size:11px; }
  .homeWelcome { padding:30px 18px 14px; }.homeWelcome h1,.salesWelcome h1 { font-size:20px; }.homeWelcome p,.salesWelcome p { font-size:12px; }.welcomeQuestions { margin-top:30px; }
  .chatPage .experience .messages { padding:22px 16px; }.chatPage .experience .messageContent,.chatPage .experience .message.user .messageContent { max-width:calc(100% - 55px); }.chatPage .experience .message.user .messageContent { max-width:76%; }
  .chatPage .experience .composerDock,.salesDock { padding-inline:12px; }.chatPage .experience .composer { gap:4px; padding:8px; min-height:62px; }
  .contentCards { gap:12px; }.contentPage { padding:24px 18px max(24px,env(safe-area-inset-bottom)); }.pageHeading h1 { font-size:22px; }
  .contentPage .contentCard { grid-template-columns:112px minmax(0,1fr) 14px; gap:10px; padding:12px; }.contentPage .contentCard .homeVideoCopy { gap:7px; }.contentPage .contentCard .homeVideoCopy strong { font-size:14px; }
  .salesScroll { padding:26px 18px; }.salesContext { margin:12px 16px 0; width:calc(100% - 32px); }.videoPlaceholder { padding-left:18px; }.videoPlaceholder h1 { font-size:24px; }.videoControls { gap:7px; padding-inline:12px; }.videoGuide { padding:16px; }.guideHeading h2 { font-size:17px; }
}
@media (max-width:360px) { .questionGrid { gap:8px; }.questionGrid button { padding:12px; font-size:12px; }.homeWelcome h1 { font-size:18px; }.homeVideoEntry { grid-template-columns:88px minmax(0,1fr) 14px; gap:10px; padding:10px; }.chatPage .experience .composer { gap:2px; }.exitCareRail { max-height:170px; overflow-y:auto; } }
@media (prefers-reduced-motion:reduce) { .experience * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
.chatPage .experience .sendButton span { display:block; font-size:20px; color:inherit; }
.chatPage .experience .composerFooter { min-height:0; padding:0; margin:0; }.chatPage .experience .composerFooter .statusActions { min-height:0; }
.chatPage .experience .factsPanel { position:fixed; z-index:110; top:0; right:0; bottom:0; width:min(360px,90vw); border-left:1px solid #ffffffb3; background:var(--ui-floating); transform:translateX(105%); transition:transform 180ms ease; }
body.factsOpen .experience .factsPanel { transform:translateX(0); }.experience .drawerBackdrop { position:fixed; z-index:105; inset:0; background:#233e5038; }.chatPage .experience .factsClose { display:block; }
.chatPage .experience .voiceButton::before,.chatPage .experience .moreButton::before { content:none; }
.chatPage .experience .voiceButton,.chatPage .experience .moreButton,.chatPage .experience .sendButton { position:relative; }
.chatPage .experience .mobileAttachmentTray:not([hidden]) { display:grid; grid-template-columns:68px 68px; gap:8px; margin:0; }
.experience .mobileAttachmentTray button { min-height:64px; border:0; border-radius:10px; background:#f0f7fa; color:var(--ink-soft); display:grid; place-items:center; font-size:12px; }
.experience .mobileAttachmentTray svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; }
.experience .messageSpeaker { color:#000; font-size:13px; margin:0 0 6px 4px; }.experience .message.user .messageSpeaker { text-align:right; margin-right:4px; }
.experience .messageBubble { -webkit-touch-callout:none; user-select:text; -webkit-user-select:text; }.experience .messageBubble:focus-visible { outline:2px solid #abcbdc; outline-offset:3px; }
.chatPage .experience .articleContent strong { color:var(--ink); }.chatPage .experience .articleContent blockquote { border-left-color:#abcbdc; background:#edf5f9; color:var(--ink-soft); }
.chatPage .experience #factsClose { display:grid; place-items:center; min-width:36px; min-height:36px; }
.chatPage .articleReaderHeader { background:#f0f8fc; border-bottom-color:var(--line); }
.chatPage .articlePage { background:linear-gradient(150deg,#f7fbfd,#eef7fb);  }
.chatPage .articleHero>h1 { color:var(--ink); font-size:clamp(23px,3vw,30px); font-weight:500; line-height:1.55; }
.chatPage .articleContent { color:var(--ink); font-size:15px; line-height:1.9; }
.chatPage .articleContent h2,.chatPage .articleContent h3,.chatPage .articleContent h4,.chatPage .articleContent strong { color:var(--ink); }
.chatPage .articleContent h2::before { background:#b9d5e4; }
.chatPage .articleContent blockquote { background:#edf5f9; color:var(--ink-soft); border-left-color:#b9d5e4; }
.chatPage .articleReaderBrand img,.chatPage .articleByline img,.chatPage .articlePublisher img,.experience .knowledgeCardSource img { border:0; border-radius:50%; background:transparent; padding:3px; object-fit:contain; mix-blend-mode:multiply; }
.chatPage .articleActions { color:#66899e; }.chatPage .articleActionButtons button { color:#66899e; }
.playerPage.isLandscape .videoStage { margin:auto 0; }
@media (max-width:600px) {
  .playerPage.isLandscape .videoPlaceholder { padding:12px 82px 12px 18px; }
  .playerPage.isLandscape .videoPlaceholder>span { margin-bottom:8px; font-size:11px; }
  .playerPage.isLandscape .videoPlaceholder h1 { font-size:17px; line-height:1.6; margin:4px 0; }
  .playerPage.isLandscape .videoPlaceholder p,.playerPage.isLandscape .videoPlaceholder>small { display:none; }
  .playerPage.isLandscape .videoMetadata { display:none; }
  .playerPage.isLandscape .videoAction { right:14px; bottom:18px; }
}

.loginPage .authHeading { text-align:center; margin-bottom:24px; }
.loginPage .authHeading h1 { font-size:26px; line-height:1.5; font-weight:500; margin:6px 0 10px; }
.loginPage .authHeading>p:last-child { font-size:13px; color:var(--ink-soft); }
.loginPage .eyebrow { margin:0 0 6px; font-weight:500; letter-spacing:.12em; }
.loginPage .authModeTabs { border:1px solid transparent; border-radius:16px; background:#deebf380; box-shadow:inset 0 1px 2px #34576c0a; padding:4px; }
.loginPage .authModeTab { min-height:44px; border-radius:12px; font-weight:500; }
.loginPage .authForm { gap:18px; }
.loginPage .authField,.chatPage .profileField { font-weight:500; }
.loginPage .authField input,.chatPage .profileField input { background:var(--ui-field); border:1px solid transparent; border-radius:13px; font-size:16px; font-weight:400; box-shadow:inset 0 1px 2px #34576c0a; }
.loginPage .authField input::placeholder,.chatPage .profileField input::placeholder { color:#7b94a4; }
.loginPage .authField input:focus,.chatPage .profileField input:focus { border-color:#92b6ca; box-shadow:var(--focus); }
.loginPage .authError { border-radius:12px; }
.chatPage :is(.profileDialog,.accountMenu,.updateDialog) { border:1px solid #ffffffb3; border-radius:20px; background:var(--ui-floating); box-shadow:var(--ui-floating-shadow); }
.chatPage .profileDialog::backdrop { background:#233e5038; backdrop-filter:blur(4px); }
.chatPage .profileHeader h2 { font-weight:500; }
.chatPage :is(.profilePreview,.factItem,.factUndo) { border:1px solid transparent; border-radius:13px; background:var(--ui-card); box-shadow:var(--ui-card-shadow); }
.chatPage .profilePreviewInitial { border:0; background:transparent; color:var(--ink-soft); font-weight:500; }
.chatPage .profileField input[readonly] { background:#e7f1f780; color:var(--muted); }
.chatPage .profileActions button { border:1px solid transparent; border-radius:12px; min-height:44px; font-weight:500; }
.chatPage .profileCancel { background:var(--ui-control); box-shadow:var(--ui-control-shadow); }
.chatPage :is(.profileSubmit,.updateDialog button,.articleCommentForm button) { border:0; border-radius:12px; background:var(--ui-primary); box-shadow:var(--ui-primary-shadow); color:#fff; font-weight:500; }
.chatPage .articleCommentForm textarea { border:1px solid transparent; border-radius:14px; background:var(--ui-field); color:var(--ink); box-shadow:inset 0 1px 2px #34576c0a; }
.chatPage .articleCommentForm textarea:focus { border-color:#92b6ca; box-shadow:var(--focus); }
.chatPage :is(.articlePublisherTags span,.articleActions button.isActive) { background:#dfedf5; color:var(--brand-deep); border-radius:8px; }
.chatPage .articleActions button { border-radius:12px; }
.chatPage .experience .factsPanel { border-left:1px solid #ffffffb3; background:var(--ui-floating); box-shadow:var(--shadow-float); }
.chatPage .accountMenuItem { border-radius:10px; }
.chatPage .dropOverlay>div { background:var(--ui-floating); border-color:#ffffffb3; border-radius:18px; box-shadow:var(--ui-floating-shadow); }
.chatPage .updateOverlay { background:#233e5052; }
.chatPage .salesComposer button:disabled { opacity:1; color:#92aab8; background:#e2edf3; box-shadow:inset 0 1px 0 #ffffff80; }
.chatPage .salesComposer textarea:focus-visible { outline:2px solid #92b6ca; outline-offset:0; box-shadow:none; }
.loginPage button,.chatPage :is(.experienceStage button,.experienceMenu button,.exitCareRail button,.profileActions button,.articleCommentForm button) { touch-action:manipulation; transition:transform 120ms cubic-bezier(.23,1,.32,1); }
:is(.loginPage,.chatPage) :is(button,a,input,textarea,[tabindex]):focus-visible { outline:2px solid #62899f; outline-offset:3px; }
.loginPage button:active:not(:disabled):not(:focus-visible),.chatPage :is(.experienceStage button,.experienceMenu button,.exitCareRail button,.profileActions button):active:not(:disabled):not(:focus-visible) { transform:scale(.98); }
@media (hover:hover) and (pointer:fine) {
  .loginPage .authSubmit:hover:not(:disabled),.chatPage :is(.guidePrimary,.salesComposer button,.profileSubmit,.updateDialog button,.articleCommentForm button):hover:not(:disabled) { background:linear-gradient(155deg,#587f97,#41677f); color:#fff; }
  .chatPage :is(.contentCard,.salesContext,.guideSecondary,.guideBody button,.salesActions button,.profileCancel):hover:not(:disabled) { background:linear-gradient(150deg,#f7fcff,#dcecf5b3); }
  .loginPage .authModeTab:not(.isActive):hover,.chatPage :is(.experienceMenu button,.playerTop button,.videoControls button,.accountMenuItem:not(.accountMenuLogout),.articleActions button):hover:not(:disabled) { background:#deecf580; color:#355d76; }
}
@media (max-width:520px) { .loginPage { padding:20px 14px; }.loginPage .loginCard { padding:26px 22px; }.loginPage .authHeading h1 { font-size:23px; } }
@media (prefers-reduced-motion:reduce) {
  .loginPage *, .chatPage :is(.experienceStage button,.experienceMenu button,.exitCareRail button,.profileActions button) { transition:none !important; animation:none !important; }
  .loginPage button:active:not(:disabled),.chatPage :is(.experienceStage button,.experienceMenu button,.exitCareRail button,.profileActions button):active:not(:disabled) { transform:none !important; }
}

/* Delivered content uses compact entry buttons without an extra paper frame. */
.chatPage .experience .messageBubble.videoAttachmentBubble,
.chatPage .experience .messageBubble.articleAttachmentBubble {
  background:transparent;
  border:0;
  border-radius:16px;
  box-shadow:none;
  overflow:visible;
}
.chatPage .experience :is(.videoAttachmentBubble,.articleAttachmentBubble) .homeVideoCopy strong { font-weight:500; }

.messageArticleEntry { grid-template-columns:64px minmax(0,1fr) 16px; }
.messageArticleEntry .articleCover { width:64px; height:76px; font-size:13px; line-height:1.6; }

.chatPage .experience .homeVideoEntry {
  -webkit-backdrop-filter:blur(16px) saturate(110%);
  backdrop-filter:blur(16px) saturate(110%);
}
.chatPage .experience .homeVideoEntry {
  background:var(--glass-surface);
  border-color:var(--glass-edge);
  box-shadow:var(--glass-shadow);
}
@media (hover:hover) {
  .chatPage .experience .homeVideoEntry:hover {
    background:linear-gradient(145deg,#e9f6ffeb,#d5eaf8bf);
    box-shadow:var(--glass-shadow);
  }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .chatPage .experience .homeVideoEntry { background:#eaf5fc; }
}
