/* HUM-801: the text-first Ask Amp chat, in HumanAmp's own tokens. HUM-1178 (Lee, amp-app PR #1): one
   compact Amp on paper, like a messaging app, with Conversation and Notebook tabs, one family of
   controls and privacy as one quiet line. Beside the page on a desktop; a full sheet on phones. */
.hac-chat[hidden],.hac-chat [hidden]{display:none!important}
.hac-chat{position:fixed;z-index:2147483000;inset:var(--hac-top,0px) 0 auto auto;margin:0;padding:0;max-width:none;max-height:none;box-sizing:border-box;width:min(440px,100vw);height:var(--hac-height,100dvh);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;background:var(--ha-paper,#F7F1EE);color:var(--ha-ink,#292B2F);border:1px solid var(--ha-hairline,#E4DAD5);border-radius:0;box-shadow:0 2px 6px rgba(41,43,47,.14),0 24px 60px -20px rgba(41,43,47,.45);font:400 16px/1.5 var(--ha-font-sans,Manrope,system-ui,sans-serif)}
.hac-chat::backdrop{background:transparent}
.hac-chat button{font-family:var(--ha-font-sans,Manrope,sans-serif)}
/* On a short screen the log keeps room for a few lines and the panel itself scrolls. */
.hac-head,.hac-tabs,.hac-confirm,.hac-status,.hac-form,.hac-controls,.hac-quiet,.hac-talk-gate,.hac-talk-strip{flex:none}

/* Header: Amp's eyes, the name, End chat and close. */
.hac-head{display:flex;align-items:center;gap:10px;padding:10px 8px 4px 16px}
.hac-title{margin:0;font:600 16px/1.2 var(--ha-font-sans,Manrope,sans-serif);flex:1}
.hac-head button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;border-radius:12px;background:transparent;color:var(--ha-ink,#292B2F);font:600 14px var(--ha-font-sans,Manrope,sans-serif);cursor:pointer;padding:0 10px}
.hac-head button:hover{background:var(--ha-bone-alt,#EFE7E2)}

/* Tabs: Conversation and Notebook, a coral underline for the open one. */
.hac-tabs{display:flex;gap:22px;padding:0 16px;border-bottom:1px solid var(--ha-hairline,#E4DAD5)}
.hac-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--ha-ink-soft,#6E645E);font-size:15px;font-weight:600;cursor:pointer;transition:none}
.hac-tab[aria-selected="true"]{color:var(--ha-ink,#292B2F);border-bottom-color:var(--ha-surface-coral,#F5897C)}
.hac-tab-count{min-width:22px;padding:1px 7px;border-radius:999px;background:var(--ha-bone-alt,#EFE7E2);color:var(--ha-ink,#292B2F);font-size:13px;text-align:center}

/* The conversation never shrinks below the field and its controls (the panel scrolls instead, #211's R3);
   its log takes what is left, at least 120px, and scrolls. The notebook scrolls within itself. */
.hac-pane{display:flex;flex-direction:column}
.hac-pane-talk{flex:1 1 0;min-height:auto}
.hac-pane-notes{flex:1 1 0;min-height:200px}
.hac-log{flex:1 1 0;min-height:120px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}

/* Messages: Amp on the left beside the stripped-back Amp, the visitor on the right; one bubble shape,
   mirrored. Readable: 17px, generous line height, no more than about 60 characters a line. */
.hac-msg{max-width:min(82%,34em);padding:10px 15px;border-radius:20px;font-size:17px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.hac-row{display:flex;align-items:flex-end;gap:8px;max-width:100%}
.hac-row .hac-msg{max-width:min(calc(100% - 64px),34em)}
.hac-msg.amp{align-self:flex-start;background:var(--ha-card,#FBF7F4);border:1px solid var(--ha-hairline,#E4DAD5);border-bottom-left-radius:6px}
.hac-msg.you{align-self:flex-end;background:var(--ha-ink,#292B2F);color:var(--ha-paper,#F7F1EE);border:1px solid var(--ha-ink,#292B2F);border-bottom-right-radius:6px}
.hac-msg.you.is-failed{opacity:.72;outline:1px dashed var(--ha-bloom-deep,#4F6F73);outline-offset:2px}
.hac-msg.note{align-self:stretch;max-width:none;background:transparent;border:1px dashed var(--ha-hairline,#D5CCC7);font-size:15px}
.hac-msg.is-voice{border-style:dashed}
/* Amp beside his bubble: shown once per run of replies, on the latest. */
.hac-amp{position:relative;flex:none;width:56px;height:64px;overflow:hidden}
.hac-row:has(+ .hac-row) .hac-amp{visibility:hidden}
.hac-amp-art{position:absolute;left:-44%;top:-5%;width:194%;aspect-ratio:3/2}
.hac-amp-art img{display:block;width:100%;height:100%}
/* the plain Amp's eyes (amp-stripped-v7): centres 35.61% and 55.46% across, 30.45% down, 15.74% wide */
.hac-eye{position:absolute;left:35.61%;top:30.45%;width:15.74%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;background:radial-gradient(circle closest-side,var(--ha-paper,#F7F1EE) 73.5%,var(--ha-ink,#292B2F) 74.5%)}
.hac-eye + .hac-eye{left:55.46%}
.hac-pupil{position:absolute;left:calc((100% - 31.8%) / 2 + 11.6%);top:calc((100% - 31.8%) / 2 - 8%);width:31.8%;height:31.8%;border-radius:50%;background:var(--ha-ink,#292B2F)}

.hac-failed{align-self:flex-end;display:flex;align-items:center;gap:10px;margin-top:-4px;font-size:14px;font-weight:600;color:var(--ha-ink-soft,#6E645E)}
.hac-status{min-height:22px;margin:0;padding:0 16px 4px;font-size:14px;color:var(--ha-ink-soft,#6E645E)}
.hac-status.is-error{color:var(--ha-bloom-deep,#4F6F73);font-weight:600} /* 4.87:1 on paper */
.hac-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;background:var(--ha-bone-alt,#EFE7E2);font-size:15px}

/* One family of controls: outlined pills, the primary one ink or coral; every target 44px or more. */
.hac-failed button,.hac-confirm button,.hac-review,.hac-add-note,.hac-talk-gate button,.hac-talk-strip button{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--ha-ink,#292B2F);background:transparent;color:var(--ha-ink,#292B2F);font-size:15px;font-weight:600;cursor:pointer}
.hac-confirm button.primary,.hac-talk-gate button.primary,.hac-talk-strip button.primary{background:var(--ha-ink,#292B2F);color:var(--ha-paper,#F7F1EE)}
.hac-failed button:disabled{opacity:.45;cursor:not-allowed}
.hac-review{margin-left:4px}

/* The composer: one rounded field with Send inside it. */
.hac-form{display:flex;align-items:flex-end;gap:8px;margin:8px 12px 0;padding:6px 6px 6px 14px;border:1px solid rgba(41,43,47,.35);border-radius:16px;background:var(--ha-card,#FBF7F4)}
.hac-form:focus-within{border-color:var(--ha-ink,#292B2F)}
.hac-form textarea{flex:1;min-height:44px;max-height:140px;resize:none;padding:10px 0;border:0;background:transparent;color:var(--ha-ink,#292B2F);font:400 17px/1.45 var(--ha-font-sans,Manrope,sans-serif)}
.hac-form textarea:focus-visible{outline:none}
.hac-form textarea:disabled{color:var(--ha-ink-soft,#6E645E)}
.hac-send{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border:0;border-radius:12px;background:var(--ha-surface-coral,#F5897C);color:var(--ha-ink,#292B2F);cursor:pointer}
.hac-send:disabled{opacity:.45;cursor:not-allowed}
.hac-controls{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px 0}
.hac-controls:not(:has(> :not([hidden]))){display:none}
.hac-talk{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:12px;background:var(--ha-surface-coral,#F5897C);color:var(--ha-ink,#292B2F);font-size:15px;font-weight:600;cursor:pointer}
.hac-talk:disabled{opacity:.45;cursor:not-allowed}

/* Privacy: one quiet line. */
.hac-quiet{margin:8px 0 0;padding:2px 16px 4px;border-top:1px solid var(--ha-hairline,#E4DAD5);font-size:13px;line-height:1.45;color:var(--ha-ink-soft,#6E645E)}
.hac-notice{margin:0;padding:6px 0 0}
/* What we collect and why: closed until opened; its summary is a 44px target. */
.hac-more summary{display:flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;list-style:none}
.hac-more summary::-webkit-details-marker{display:none}
.hac-more summary::after{content:"";width:7px;height:7px;margin-left:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.hac-more[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.hac-more-list{margin:0 0 4px;padding:0 0 0 18px;display:flex;flex-direction:column;gap:6px;color:var(--ha-ink,#292B2F);font-size:14px;line-height:1.5}
.hac-more-list strong{font-weight:600}
.hac-more-choice{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;margin:0}
.hac-more-gpc{flex:1 1 100%;padding:2px 0}
.hac-quiet a,.hac-quiet button{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.hac-quiet [data-amp-analytics-status]:empty{display:none}

/* Notebook: a paper sheet on a faint dot grid, a coral margin rule, one editable heading per theme. */
.hac-pane-notes{overflow-y:auto;padding:14px;gap:14px;background:radial-gradient(circle,rgba(41,43,47,.14) 1px,transparent 1.5px) 0 0/24px 24px}
.hac-sheet,.hac-follow{flex:none;display:flex;flex-direction:column;gap:10px;padding:16px 18px 16px 24px;background:var(--ha-card,#FBF7F4);border:1px solid var(--ha-hairline,#E4DAD5);border-radius:14px;box-shadow:inset 3px 0 0 var(--ha-surface-coral,#F5897C)}
.hac-sheet-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--ha-ink-soft,#6E645E)}
.hac-sheet-title,.hac-follow-title{margin:0;font:600 18px/1.3 var(--ha-font-sans,Manrope,sans-serif)}
.hac-sheet-help,.hac-follow-help,.hac-notes-empty{margin:0;font-size:14px;line-height:1.5;color:var(--ha-ink-soft,#6E645E)}
.hac-notes{display:flex;flex-direction:column;gap:12px}
.hac-theme{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--ha-hairline,#E4DAD5)}
.hac-theme-name{box-sizing:border-box;min-height:44px;margin:0;padding:0 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ha-ink,#292B2F);font:600 15px var(--ha-font-sans,Manrope,sans-serif)}
.hac-theme-name:hover,.hac-theme-name:focus{border-color:var(--ha-hairline,#D5CCC7);background:var(--ha-paper,#F7F1EE)}
.hac-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 8px;align-items:start}
.hac-note-number{padding-top:12px;font:600 13px var(--ha-font-sans,Manrope,sans-serif);color:var(--ha-ink-soft,#6E645E)}
.hac-note-text{box-sizing:border-box;width:100%;min-height:88px;margin:0;padding:10px 12px;border:1px solid var(--ha-hairline,#D5CCC7);border-radius:12px;background:var(--ha-paper,#F7F1EE);color:var(--ha-ink,#292B2F);font:400 17px/1.55 var(--ha-font-sans,Manrope,sans-serif);resize:none;overflow:hidden}
.hac-note-remove{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--ha-ink,#292B2F);cursor:pointer}
.hac-note-remove:hover{background:var(--ha-bone-alt,#EFE7E2)}
.hac-add-note{align-self:flex-start}
.hac-follow-label{font-weight:600;font-size:15px}
.hac-follow input{box-sizing:border-box;height:48px;margin:0;padding:0 14px;border-radius:12px;border:1px solid rgba(41,43,47,.35);background:var(--ha-paper,#F7F1EE);color:var(--ha-ink,#292B2F);font:400 17px var(--ha-font-sans,Manrope,sans-serif)}
.hac-follow-status{min-height:22px;margin:0;font-size:14px;color:var(--ha-ink-soft,#6E645E)}
.hac-follow-status.is-error{color:var(--ha-bloom-deep,#4F6F73);font-weight:600}
.hac-follow-send{align-self:flex-start;min-height:48px;padding:0 22px;border:0;border-radius:12px;background:var(--ha-surface-coral,#F5897C);color:var(--ha-ink,#292B2F);font-size:16px;font-weight:700;cursor:pointer}
.hac-follow-send:disabled{opacity:.45;cursor:default}
.hac-follow-other{margin:0;font-size:14px;color:var(--ha-ink-soft,#6E645E)}
.hac-follow-other a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Talk (HUM-1173): the notice before the microphone, and the call in progress. */
.hac-talk-gate{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 12px 0;padding:12px 14px;border-radius:14px;background:var(--ha-bone-alt,#EFE7E2);font-size:15px}
.hac-talk-gate p{flex:1 1 100%;margin:0;line-height:1.5}
.hac-talk-gate a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.hac-talk-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:8px 12px 0;padding:10px 14px;border:1px solid var(--ha-hairline,#E4DAD5);border-radius:14px;background:var(--ha-card,#FBF7F4)}
.hac-talk-state{flex:1 1 180px;margin:0;font-weight:600;font-size:15px}
.hac-talk-strip.is-connecting .hac-talk-state{color:var(--ha-ink-soft,#6E645E)}
.hac-talk-count{font:600 13px var(--ha-font-mono,ui-monospace,monospace);color:var(--ha-ink-soft,#6E645E)}
.hac-talk-mute[aria-pressed="true"]{background:var(--ha-bone-alt,#EFE7E2)}
.hac-talk-audio{display:none}

.hac-chat :focus-visible{outline:3px solid var(--ha-blue,#536A79);outline-offset:2px}
@media (max-width:680px){
  .hac-chat{width:100%;border:0;border-radius:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
  .hac-chat::backdrop{background:transparent}
  html.hac-locked,html.hac-locked body{overflow:hidden}
  .hac-amp{width:48px;height:56px}
  .hac-row .hac-msg{max-width:calc(100% - 56px)}
}
@media (max-height:520px){.hac-log{min-height:96px}}
@media (prefers-reduced-motion:no-preference){.hac-chat{animation:hac-in .18s var(--ha-ease,ease-out)}}
@keyframes hac-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.hac-dictate{width:44px;height:44px;flex:none;border:0;border-radius:12px;background:transparent;color:var(--ha-ink,#292B2F);font-size:20px;cursor:pointer;transition:none}
.hac-dictate[aria-pressed="true"]{background:var(--ha-surface-coral,#F5897C);box-shadow:inset 0 0 0 2px var(--ha-ink,#292B2F)}
.hac-dictate[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.hac-transcript{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-size:14px;cursor:pointer}
.hac-follow .hac-transcript input{flex:none;width:44px;height:44px;margin:0;padding:10px;accent-color:var(--ha-surface-coral,#F5897C)}
@media(max-width:680px){.hac-pane-notes{padding:10px}.hac-sheet,.hac-follow{padding:14px 12px 14px 16px}.hac-note{gap:6px}}
.hac-dictation-status{flex:none;margin:6px 14px 0;color:var(--ha-ink-soft,#6E645E);font-size:13px;line-height:1.4}

/* HUM-1257: the conversation owns the viewport; secondary actions stay reachable. */
.hac-chat.is-expanded{width:min(760px,100vw)}
.hac-tabs{gap:16px}
.hac-tab{font-size:13px}
.hac-form textarea{min-width:0}
.hac-quiet{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px}
.hac-notice{grid-column:1/-1}
.hac-more[open]{grid-column:1/-1}
.hac-more-list{max-height:25dvh;overflow-y:auto}
.hac-chat .hac-form,.hac-chat .hac-follow input,.hac-chat .hac-note-text{border-color:var(--ha-ink-soft,#6E645E)}
.hac-tab[aria-selected="true"]{box-shadow:0 1px 0 var(--ha-ink,#292B2F)}
.hac-chat button:focus-visible,.hac-chat a:focus-visible,.hac-chat summary:focus-visible{outline-color:var(--ha-ink,#292B2F)}
.hac-dictation-status{font-size:12px;margin:2px 14px}
@media(max-width:680px){
  .hac-chat.is-expanded{width:100%}
  .hac-expand{display:none!important}
  .hac-head{padding-top:4px}
  .hac-log{min-height:40px;padding:10px}
  .hac-quiet{margin-top:4px;padding-inline:12px}
}
@media(prefers-reduced-motion:no-preference){
  .hac-msg.you{animation:hac-message .18s ease-out}
  .hac-chat[data-stage="confirmation"] .hac-row:last-child{animation:hac-message .18s ease-out}
}
@keyframes hac-message{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hac-chat,.hac-chat *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(min-width:681px) and (prefers-reduced-motion:no-preference){.hac-chat{transition:width .2s var(--ha-ease,ease-out)}}
.hac-form textarea::placeholder{color:var(--ha-ink-soft,#6E645E);opacity:1}
.hac-send:not(:disabled),.hac-follow-send:not(:disabled),.hac-talk:not(:disabled){box-shadow:inset 0 0 0 1px var(--ha-ink-soft,#6E645E)}

.hac-privacy-short{min-width:44px}

/* HUM-1260: header + clipped thread scroller + floored composer, no standing footer.
   Lee holds: Notebook toggle, opening-only mascot and reopen preference. */
.hac-chat{overflow:hidden}
.hac-head{position:relative;flex:none;min-height:52px;height:52px;box-sizing:border-box;padding:0 4px 0 14px;gap:2px;border-bottom:1px solid var(--ha-hairline,#E4DAD5)}
.hac-title{font-size:16px;font-weight:800;letter-spacing:-.01em;flex:none;white-space:nowrap}
.hac-pill{flex:none;white-space:nowrap;border-radius:6px;padding:3px 4px;background:none;color:var(--ha-ink-soft,#6E645E);font-size:12px;line-height:1.3}
.hac-head .hac-privacy-button{margin-left:auto;padding:0 10px;font-size:13px;font-weight:600;color:var(--ha-ink-soft,#6E645E)} /* Amp and AI beta on the left; Privacy, More and Close together on the right */
.hac-head button{flex:none;padding:0 5px;min-width:44px;min-height:44px;height:44px;gap:3px}
.hac-head .hac-end{font-size:17px}
.hac-end-label{font-size:12px}
.hac-head .hac-close{margin-left:0}
.hac-head .hac-talk{padding:0;width:44px}
.hac-head .hac-talk svg{flex:none}
.hac-head .hac-talk{font-size:0;gap:0}
/* A spare header (Lee, 29 Oct 2026): Amp, AI beta, Privacy, Talk where on, More and Close. End chat and Wide chat
   wait in More; the Amp beside the conversation is the one Amp */
.hac-voice{display:contents}
.hac-actions{display:none;position:absolute;right:6px;top:100%;z-index:12;min-width:min(160px,calc(100% - 12px));max-width:calc(100% - 12px);padding:6px;box-sizing:border-box;border:1px solid var(--ha-hairline,#E4DAD5);border-radius:12px;background:var(--ha-paper,#F7F1EE);box-shadow:0 10px 24px rgba(var(--ha-ink-rgb,41,43,47),.14)}
.hac-actions.is-open{display:flex;flex-direction:column}
.hac-head .hac-actions button{justify-content:flex-start;gap:10px;width:100%;padding:0 12px;border-radius:8px;font:600 14px var(--ha-font-sans,Manrope,sans-serif)}
.hac-chat .hac-actions .hac-end-label,.hac-chat .hac-actions .hac-expand-label{display:inline;font-size:14px}
.hac-expand-label{display:none}
/* Conversation and Notebook as thumb tabs down the right edge, like a sketchbook's dividers: the open one is cut from
   the same page, the other sits back. Below the header, wherever its height falls */
.hac-tabs{position:absolute;z-index:2;right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);top:var(--hac-head-bottom,52px);width:38px;display:flex;flex-direction:column;gap:8px;padding:20px 0 0;border:0;box-sizing:border-box;background:var(--ha-bone-alt,#EFEAE6)}
.hac-chat .hac-pane{margin-right:38px;border-right:1px solid var(--ha-hairline,#E4DAD5)}
.hac-chat[data-stage="confirmation"] .hac-tabs{display:none}
.hac-tab{writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;gap:8px;width:31px;height:150px;margin:0;padding:0;box-sizing:border-box;border:1px solid var(--ha-hairline,#E4DAD5);border-left:0;border-radius:0 10px 10px 0;background:var(--ha-hairline,#E4DAD5);color:var(--ha-support-on-paper,#595C63);font:600 14px/1 var(--ha-font-sans,Manrope,sans-serif);cursor:pointer}
.hac-tab[aria-selected="true"]{width:37px;margin-left:-1px;border-color:var(--ha-hairline,#E4DAD5);background:var(--ha-paper,#F7F1EE);color:var(--ha-ink,#292B2F);font-weight:700;box-shadow:inset -2px 0 0 var(--ha-ink,#292B2F)}
.hac-tab:hover{color:var(--ha-ink,#292B2F)}
.hac-tab-n{font:500 11px var(--ha-font-mono,'IBM Plex Mono',monospace);color:var(--ha-ink-soft,#6E645E)}
.hac-tab .hac-tab-count{min-width:0;padding:2px 0;border-radius:999px;background:none;font:500 11px var(--ha-font-mono,'IBM Plex Mono',monospace);color:var(--ha-support-on-paper,#595C63)}
.hac-pane-talk{flex:1 1 0;min-height:0;overflow:hidden}
.hac-scroll{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:10px;box-sizing:border-box}
.hac-log{flex:none;min-height:0;overflow:visible;padding:0;gap:10px}
.hac-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.hac-chip{min-width:44px;min-height:44px;padding:6px 10px;border:1px solid var(--ha-ink,#292B2F);border-radius:14px;color:var(--ha-ink,#292B2F);background:transparent;font:500 14px/1.3 var(--ha-font-sans,Manrope,sans-serif);cursor:pointer}
.hac-chat:not([data-stage="opening"]) .hac-amp{width:28px;height:28px}
.hac-chat:not([data-stage="opening"]) .hac-row .hac-msg{max-width:calc(100% - 36px)}
.hac-row .hac-msg{font-size:17px}
.hac-chat .hac-form{margin:0;flex:none;gap:8px;padding:8px;border:1px solid var(--ha-ink-soft,#6E645E);border-radius:0;background:var(--ha-card,#FBF7F4)}
.hac-chat .hac-form textarea{box-sizing:border-box;height:44px;min-height:44px;max-height:143px;padding:10px 0;font-size:16px;line-height:24px;overflow-y:auto}
.hac-status{min-height:0;padding:0 10px;margin:0;font-size:13px;line-height:20px}
.hac-status:empty,.hac-dictation-status:empty{display:none}
.hac-call-hint{flex:none;margin:0;padding:0 10px;font-size:12px;line-height:18px;color:var(--ha-ink-soft,#6E645E)}
.hac-pane-notes{min-height:0;box-sizing:border-box}
.hac-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* The live log is visually clipped, but its message paragraphs still need a bounded
   line box. The generic 1px/nowrap SR utility otherwise gives every paragraph horizontal overflow. */
.hac-announcer{left:10px;width:calc(100% - 20px)!important;white-space:normal!important;overflow-wrap:anywhere}
.hac-announcer>p{margin:0}
.hac-privacy-overlay{position:absolute;left:0;right:0;z-index:10;overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:14px 16px;background:var(--ha-paper,#F7F1EE);color:var(--ha-ink,#292B2F);box-shadow:0 1px 0 var(--ha-ink-soft,#6E645E)}
.hac-privacy-overlay h3{margin:0 0 12px;font-size:20px}
.hac-privacy-overlay .hac-more-list{max-height:none;overflow:visible}
.hac-privacy-overlay button,.hac-privacy-overlay a,.hac-inline-privacy,.hac-receipt button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 8px;border:1px solid var(--ha-ink,#292B2F);border-radius:10px;background:var(--ha-card,#FBF7F4);color:var(--ha-ink,#292B2F);font:600 14px var(--ha-font-sans,Manrope,sans-serif);cursor:pointer}
.hac-inline-privacy{border:0;background:none;text-decoration:underline}
.hac-receipt{flex:1;min-height:0;overflow:auto;padding:20px;box-sizing:border-box}
.hac-receipt button{margin:8px 8px 0 0}
.hac-talk-strip{box-sizing:border-box;flex-wrap:nowrap;gap:4px;margin:8px 0 0;padding:4px;min-height:52px;border-radius:0}
.hac-talk-state{flex:1 1 auto;min-width:0;font-size:12px;line-height:14px}
.hac-talk-strip button{flex:none;min-width:44px;min-height:44px;padding:0 4px;font-size:12px}
.hac-talk-count:empty{display:none}
.hac-chat :focus-visible{outline:3px solid var(--ha-ink,#292B2F);outline-offset:-3px}
@media(max-width:680px),(pointer:coarse){.hac-head{height:48px;min-height:48px}.hac-expand{display:none!important}.hac-chat{width:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}html.hac-locked,html.hac-locked body{overflow:hidden}.hac-chat .hac-scroll{padding:10px}.hac-chat.is-expanded{width:100%}}
@media(max-width:400px){.hac-end-label{display:none}}
@media(max-width:340px){.hac-head .hac-privacy-button{font-size:0;width:44px}.hac-privacy-button::before{content:'ⓘ';font-size:18px}}
@media(max-width:300px){.hac-head{gap:2px;padding:0 2px 0 8px}.hac-pill{font-size:12px;padding:3px}}
/* End is icon-only in compact panels, except in the More menu. */
.hac-chat:not(.is-expanded) .hac-end-label{display:none}
@media(max-width:680px),(pointer:coarse){.hac-end-label{display:none}}

/* Narrow/zoomed headers keep every 44px action. Only the visual pill contracts;
   its Beta suffix remains available to assistive technology. At extreme reflow,
   wrap naturally rather than clipping Close or shrinking its hit area. */
@media(max-width:300px){.hac-pill{position:relative}.hac-pill-beta{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
@media(max-width:180px){.hac-head{height:auto;min-height:48px;flex-wrap:wrap;align-content:center;row-gap:0}}

@media(max-width:400px){html.hac-talk-available .hac-title{display:none}}
@media(max-width:340px){.hac-head{gap:2px;padding-inline:10px 2px}.hac-pill{padding-inline:3px}}
@media(max-width:300px){.hac-head{height:auto;min-height:48px;flex-wrap:wrap;align-content:center;row-gap:0}}

/* Phones (Lee, 30 Oct 2026, from Ask Landy's final design, HUM-1343): Amp parked on the message box, quiet tailed
   bubbles with the newest reply pointing down at him, what is happening shown in the empty box, and his eyes reacting:
   down at what you type, up at a new reply, a glance while thinking, heavy lids when it is slow. He only moves his eyes. */
.hac-parked,.hac-box-status{display:none}
@media(max-width:680px){
  .hac-chat .hac-scroll{background:var(--ha-paper,#F7F1EE);padding:14px 6px 104px}
  .hac-chat .hac-scroll:has(.hac-chips:not([hidden])){padding-bottom:6px}
  .hac-chat .hac-scroll{display:flex;flex-direction:column}
  .hac-chat .hac-log{gap:14px;margin-top:auto;padding:0 10px}
  .hac-chat .hac-row .hac-amp{display:none}
  .hac-chat .hac-pane .hac-row .hac-msg{max-width:88%}
  .hac-chat .hac-msg{position:relative;border:0;border-radius:18px;font-size:17px;line-height:1.5;padding:10px 16px}
  .hac-chat .hac-msg.amp{background:var(--ha-white,#FFFFFF)}
  .hac-chat .hac-log .hac-msg.you{max-width:min(248px,88%);background:var(--ha-ink,#292B2F)}
  .hac-chat .hac-msg.note{border:1px dashed var(--ha-ink-soft,#6E645E)}
  /* One bubble shape: a tighter corner on the speaker's side; the newest reply points down at Amp */
  .hac-chat .hac-msg.amp{border-bottom-left-radius:6px}
  .hac-chat .hac-msg.you{border-bottom-right-radius:6px}
  .hac-chat .hac-log>.hac-row:last-child .hac-msg.amp{border-bottom-left-radius:18px}
  .hac-chat .hac-log>.hac-row:last-child .hac-msg.amp::before{content:"";position:absolute;left:34px;bottom:-7px;width:16px;height:16px;background:inherit;transform:rotate(45deg);border-radius:0 0 4px 0}
  /* The opening suggestions sit as pills beside Amp */
  .hac-chat .hac-chips{min-height:96px;margin:14px 10px 0 104px;justify-content:flex-end;align-content:flex-end;gap:6px}
  .hac-chat .hac-chip{min-height:44px;padding:0 14px;border:1.5px solid rgba(var(--ha-ink-rgb,41,43,47),.45);border-radius:999px;font:700 14px/1.2 var(--ha-font-sans,Manrope,sans-serif);text-align:left}
  /* The message box: a white pill with Send at its end, Amp standing on its top edge */
  .hac-chat .hac-form{position:relative;align-items:center;margin:0 12px 4px;padding:6px 6px 6px 20px;min-height:58px;border:1px solid rgba(var(--ha-ink-rgb,41,43,47),.25);border-radius:29px;background:var(--ha-white,#FFFFFF)}
  .hac-chat .hac-form:focus-within{border-color:var(--ha-ink,#292B2F)}
  .hac-chat .hac-form textarea{font-size:17px}
  .hac-chat .hac-send{border-radius:999px;box-shadow:none}
  .hac-chat .hac-form .hac-parked{display:block;position:absolute;left:-36px;bottom:100%;width:175px;height:94px;overflow:visible;pointer-events:none}
  .hac-chat .hac-parked .hac-amp-art{left:0;top:-8%;width:100%}
  .hac-chat .hac-parked::after{content:"";position:absolute;left:58px;right:58px;bottom:-9px;height:10px;border-radius:50%;background:radial-gradient(closest-side,rgba(var(--ha-ink-rgb,41,43,47),.2),transparent)}
  /* What is happening, in the empty box; typed words always win */
  .hac-chat .hac-form:has(textarea:placeholder-shown) .hac-box-status:not(:empty){display:block;position:absolute;left:20px;right:60px;top:50%;transform:translateY(-50%);pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:600 15px/24px var(--ha-font-sans,Manrope,sans-serif);color:var(--ha-ink,#292B2F)}
  .hac-chat .hac-form:has(.hac-box-status:not(:empty)) textarea::placeholder{color:transparent}
  .hac-box-status::before{content:"";display:inline-block;vertical-align:middle;margin:-3px 9px 0 0;width:10px;height:10px;border-radius:50%;background:var(--ha-surface-coral,#F5897C)}
  .hac-box-status[data-kind="dots"]::before{width:26px;height:7px;border-radius:0;background:radial-gradient(circle,var(--ha-ink,#292B2F) 3px,transparent 3.5px) 0 0/9.5px 7px repeat-x}
  .hac-box-status[data-kind="spin"]::before{width:14px;height:14px;box-sizing:border-box;border:2.5px solid rgba(var(--ha-ink-rgb,41,43,47),.2);border-top-color:var(--ha-ink,#292B2F);background:none}
  .hac-chat .hac-status.is-boxed{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
  /* His eyes */
  .hac-parked .hac-eye::after{content:"";position:absolute;inset:-1px;background:#D9CFC7;transform:scaleY(0);transform-origin:top}
  .hac-parked .hac-pupil{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
  .hac-chat[data-amp-look="down"] .hac-parked .hac-pupil{transform:translate(-25%,105%)}
  .hac-chat[data-amp-look="up"] .hac-parked .hac-pupil{transform:translate(-30%,-20%)}
  .hac-chat[data-amp-look="ponder"] .hac-parked .hac-pupil{transform:translate(-110%,0)}
  .hac-chat[data-amp-look="stall"] .hac-parked .hac-pupil{transform:translate(-40%,70%)}
  .hac-chat[data-amp-look="stall"] .hac-parked .hac-eye::after{transform:scaleY(.46);border-bottom:2px solid var(--ha-ink,#292B2F)}
}
@media(max-width:680px) and (prefers-reduced-motion:no-preference){
  .hac-chat:not([data-amp-look]) .hac-parked .hac-eye::after,.hac-chat[data-amp-look="idle"] .hac-parked .hac-eye::after{animation:hac-blink 8.6s infinite}
  .hac-chat[data-amp-look="ponder"] .hac-parked .hac-pupil{animation:hac-glance 3.2s ease-in-out infinite}
  .hac-box-status[data-kind="dot"]::before{animation:hac-pulse 1.1s ease-in-out infinite}
  .hac-box-status[data-kind="dots"]::before{animation:hac-dots 1.2s ease-in-out infinite}
  .hac-box-status[data-kind="spin"]::before{animation:hac-spin .9s linear infinite}
}
@keyframes hac-blink{0%,96%,100%{transform:scaleY(0)}98%{transform:scaleY(1)}}
@keyframes hac-glance{0%,40%{transform:translate(-110%,0)}55%,90%{transform:translate(10%,0)}100%{transform:translate(-110%,0)}}
@keyframes hac-pulse{0%,100%{transform:scale(.8);box-shadow:0 0 0 0 rgba(var(--ha-bloom-rgb,245,137,124),.55)}50%{transform:scale(1.1);box-shadow:0 0 0 7px rgba(var(--ha-bloom-rgb,245,137,124),0)}}
@keyframes hac-dots{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes hac-spin{to{transform:rotate(360deg)}}
