/* Shared by the landing panel and the website's assistant iframe. */
.voice-controls{gap:10px;padding:8px 16px 2px;flex-wrap:wrap;flex-shrink:0}
.voice-controls .speech-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:10px;border-radius:50%;background:#292528;border:1px solid #8e6c56;color:#f4e8dd;cursor:pointer}
.voice-controls .speech-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.voice-controls .live-icon{background:#bc8765;color:#211c1b;border-color:#bc8765}
.voice-controls .speech-icon[aria-pressed=true]{background:#744938;color:white;border-color:#e4b690;box-shadow:0 0 0 3px #bc87651f}
.voice-controls .speech-icon:disabled{opacity:.4;cursor:not-allowed}
.voice-controls .speech-icon:focus-visible{outline:2px solid #edb88f;outline-offset:3px}
.voice-controls .speech-hint{font-size:10px;line-height:1.6;color:#c5b7ad}
.speech-status{padding:3px 16px;flex-shrink:0;line-height:1.4}
.speech-status span{display:block;font-size:11px;color:#d6c4b7}.speech-status span:empty{display:none}
#chat-panel:has(#chat-consent:not([hidden])) .speech-status{display:none}
.voice-controls [hidden]{display:none!important}

/* Lanikai: calm editorial panel, with secondary actions progressively disclosed. */
#chat-panel{border:1px solid #57483f;border-radius:3px;background:#211f20;box-shadow:0 16px 55px #0005}
.chat-head{padding:20px 22px;background:#211f20;border-bottom:1px solid #ffffff12;gap:14px;flex-shrink:0}
.chat-head .avatar{width:48px;height:58px;border-radius:2px;object-position:center 20%}
.chat-head .eyebrow{font-size:8px;letter-spacing:.12em;color:#c7aa94}
.chat-head h2{font:29px/1.1 var(--serif);margin-top:6px}
.chat-head h2 small{display:block;margin:5px 0 0;font-size:10px;color:#b4aaa1;letter-spacing:.02em}
.chat-head .icon-button{width:44px;height:44px;background:transparent;color:#cfc3b8;font-size:25px}
.chat-messages{padding:23px 22px;min-height:100px;scrollbar-width:thin;scrollbar-color:#635044 transparent}
.bubble{font-size:14px;line-height:1.75;padding:0;margin:0 0 24px}
.bubble.assistant{background:transparent;margin-right:12px;color:#eee4db}
.bubble.user{background:#352d29;border-left:1px solid #bc8765;padding:12px 15px;margin-left:25px;color:#f2e6da}
.chat-suggestions{padding:0 22px 12px;gap:8px 14px;flex-shrink:0}
.chat-suggestions button{border:0;border-bottom:1px solid #6f5545;padding:5px 0;min-height:38px;font-size:11px;color:#d0b39b}
.voice-controls{padding:8px 20px 0;border-top:1px solid #ffffff12;gap:9px}
.voice-controls .speech-icon{border-radius:3px;background:transparent;border-color:#79604e}
.voice-controls .live-icon{background:#b87d58;border-color:#b87d58;color:#1c1715}
.voice-controls .speech-hint{font-size:10px;color:#bfb0a4;line-height:1.55}
#chat-form{border:0;padding:12px 20px 15px;flex-shrink:0;gap:0}
#chat-form input{border:1px solid #6a5648;border-right:0;background:transparent;border-radius:2px 0 0 2px;min-width:0;font-size:16px;padding:12px}
#chat-form button{background:transparent;color:#e1ad87;border:1px solid #6a5648;border-left:0;border-radius:0 2px 2px 0;min-width:44px}
.chat-more{border-top:1px solid #ffffff12;flex-shrink:0;max-height:36%;overflow:auto;padding:0 20px}
.chat-more>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:44px;font:11px var(--sans);color:#c0ac9b;cursor:pointer}
.chat-more>summary::-webkit-details-marker{display:none}.chat-more[open]>summary span{transform:rotate(45deg)}
.chat-foot{padding:0 0 12px;gap:6px 14px}.chat-foot button,.chat-foot a{font-size:11px;min-height:36px}.chat-foot .check-label{font-size:10px!important;padding:6px 0}.chat-foot small{font-size:10px;color:#b7a99e}
#chat-panel:has(#chat-consent:not([hidden])) .chat-more{display:none}
.consent-panel{padding:28px 24px}.consent-panel>p:first-child,.consent-panel>figure+p{font:29px/1.2 var(--serif);margin-bottom:20px}.consent-panel>p{font-size:13px;color:#d2c4b7}.consent-panel .button{width:100%;border-radius:2px;margin-top:12px}.consent-panel small{color:#b7a99e;line-height:1.6}
.chat-launch{border-radius:3px;border:1px solid #81634f;padding:10px 15px;background:#252123;box-shadow:0 6px 20px #0003;font-size:12px;gap:10px}
.chat-launch .avatar{border-radius:2px;width:28px;height:34px}
@media(max-width:700px){.chat-head{padding:16px 18px}.chat-messages{padding:18px}.chat-suggestions{padding-left:18px;padding-right:18px}.voice-controls{padding-left:18px}.chat-more{max-height:32%}}

.chat-modes{display:flex;gap:22px;padding:0 22px;border-bottom:1px solid #ffffff12;flex-shrink:0}
.chat-modes button{display:inline-flex;align-items:center;gap:7px;min-height:48px;padding:6px 0;border:0;border-bottom:1px solid transparent;color:#b8aaa0;font-size:11px;white-space:nowrap}
.chat-modes button[aria-pressed=true]{color:#efc5a5;border-bottom-color:#c08a61}
.chat-modes svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#chat-panel[data-interaction=voice] .voice-controls{background:#2b2421}
@media(max-width:360px){.chat-modes{gap:14px;padding:0 18px}.chat-modes button{font-size:10px}}

/* Conversation-first refinement. Secondary tasks stay out of the message area. */
.chat-head{padding:16px 20px;gap:12px}.chat-head .avatar{width:38px;height:46px}.chat-head h2{font-size:25px;margin-top:3px}.chat-head h2 small{font:10px/1.3 var(--sans);margin-top:4px}.chat-head .eyebrow{font-size:7px;margin:0}.chat-modes{gap:24px}.chat-modes button{min-height:42px}
.chat-suggestions{gap:12px;padding-bottom:8px}.chat-suggestions button{font-size:10px;min-height:32px;border-bottom-color:#ffffff20}
.chat-messages{flex:1;min-height:80px}.bubble{animation:message-in .18s ease-out}.bubble.assistant{line-height:1.7}.bubble.user{border-radius:2px;background:#ffffff06}
#chat-panel[data-interaction=text] #voice-status{display:none}
#chat-panel[data-interaction=voice] .chat-suggestions{display:none}
#chat-panel[data-interaction=voice] #chat-input{opacity:.58}
.voice-controls{justify-content:center;padding:16px 20px;border:0;background:transparent!important}.speech-status{text-align:center}
#chat-form{margin:0 18px 8px;padding:0;border:1px solid #766253;border-radius:3px;align-items:center;background:#ffffff03}
#chat-form input{border:0;background:transparent;flex:1;padding:13px 12px;font-size:16px}
#chat-form button{border:0;min-width:42px;width:42px;height:46px;padding:12px;background:transparent;border-radius:0}
#chat-form button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
#chat-form #dictation-start{color:#bca492}#chat-form #dictation-start[aria-pressed=true]{color:#f3c09d;background:#a36a3f30}
#chat-form #voice-start{color:#d2a17e}#chat-form #voice-start[aria-pressed=true]{color:#171312;background:#c58d65}
#chat-form #voice-stop{color:#f1c6aa;background:#8d3f3838}#chat-form .live-stop:not([hidden]){display:inline-grid;place-items:center}
.chat-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 20px 7px;flex-shrink:0}.chat-toolbar button{min-height:36px;font-size:11px;color:#d6b69e}.chat-toolbar span[role=status]{font-size:9px;line-height:1.3;color:#b5a79a;text-align:right;max-width:50%}
.chat-more{border-top:0;max-height:32%}.chat-more>summary{min-height:34px;font-size:10px}.chat-foot{display:flex;flex-direction:column;align-items:flex-start}.chat-foot button{min-height:38px;text-align:left}.chat-foot small{line-height:1.5}
.consent-panel{padding:28px 24px;flex:1}.consent-panel>p:first-child,.consent-panel>figure+p{font-size:31px;max-width:270px;margin-bottom:22px}.consent-panel>p{font-size:13px;line-height:1.7}.consent-detail{border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;margin:20px 0 12px}.consent-detail summary{font-size:11px;padding:12px 0;min-height:44px}.consent-detail p,.consent-detail a{font-size:11px;line-height:1.65}.consent-detail a{display:block;margin:12px 0}.consent-panel small{font-size:10px}
.lanikai-presence{position:relative;width:112px;height:128px;margin:0 auto 22px;display:grid;place-items:center}
.lanikai-presence img{position:relative;z-index:1;width:88px;height:110px;object-fit:cover;object-position:center 18%;border-radius:44px 44px 8px 8px;border:1px solid #c6977566;box-shadow:0 14px 28px #0005}
.presence-ring{position:absolute;width:106px;height:106px;border:1px solid #c697753d;border-radius:50%;animation:presence-breathe 2.8s ease-in-out infinite}
.bubble.thinking{display:flex;align-items:center;gap:9px;color:#d7c2b3}
.bubble.thinking::after{content:"";width:4px;height:4px;border-radius:50%;background:#d09a75;box-shadow:8px 0 #d09a75,16px 0 #d09a75;animation:thinking-dots 1s ease-in-out infinite alternate;margin-left:2px}
#chat-panel:has(#chat-consent:not([hidden])) .chat-toolbar{display:none}
.chat-intake{position:absolute;inset:0;z-index:10;padding:22px;background:#211f20;overflow:auto;scrollbar-width:thin}.chat-intake[hidden]{display:none}.intake-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.intake-head h3{font-size:30px}.intake-head button{width:44px;height:44px;font-size:26px}.intake-note{font-size:12px;line-height:1.7;color:#bcafa3;margin:10px 0 22px}
#intake-form{display:block}#intake-form[hidden]{display:none}#intake-form label{display:block;font-size:11px;line-height:1.6;color:#c8b8a8;margin-bottom:17px}#intake-form input:not([type=checkbox]),#intake-form select,#intake-form textarea{display:block;width:100%;margin-top:6px;padding:11px 10px;border:1px solid #68564a;border-radius:2px;background:#242123;color:#eee4db;font-size:16px;transition:border-color .18s,background .18s}#intake-form input:focus,#intake-form textarea:focus,#intake-form select:focus{border-color:#d8a37b;background:#2a2524}#intake-form .check-label{display:flex;gap:9px;font-size:11px;line-height:1.6;align-items:flex-start}#intake-form .check-label input{flex:0 0 16px;width:16px;height:16px;min-height:16px;margin-top:3px;accent-color:#bf8b67}#intake-form .button,#intake-book-open{width:100%;font-size:13px;border-radius:2px}#intake-status{font-size:12px;line-height:1.7;margin-top:14px}#intake-form [hidden]{display:none}
.contact-form input,.contact-form select,.contact-form textarea,#staff-panel input,#staff-panel select,#staff-panel textarea{border-radius:2px;transition:border-color .18s,background .18s}.contact-form label,#staff-panel label{font-size:12px;line-height:1.65}.contact-form input:focus,.contact-form textarea:focus,#staff-panel input:focus,#staff-panel textarea:focus{border-color:#d8a37b;background:#292325}
@keyframes message-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes presence-breathe{0%,100%{opacity:.4;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}
@keyframes thinking-dots{from{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:translateY(-1px)}}
@media(prefers-reduced-motion:reduce){.bubble,.presence-ring,.bubble.thinking::after{animation:none}.chat-intake input,.chat-intake textarea,.contact-form input,.contact-form textarea{transition:none!important}}
@media(max-width:360px){.chat-head{padding:13px 16px}.chat-modes{padding:0 16px}.chat-toolbar{padding:0 16px}.chat-intake{padding:18px}.consent-panel{padding:24px 20px}.consent-panel>p:first-child,.consent-panel>figure+p{font-size:28px}.lanikai-presence{height:108px;margin-bottom:16px}.lanikai-presence img{width:74px;height:94px}.presence-ring{width:90px;height:90px}}

/* A focused, explicit consent step replaces the hidden handoff link. */
.telegram-panel{position:absolute;inset:0;z-index:12;background:#211f20;padding:24px;overflow:auto}
.telegram-panel[hidden]{display:none}.telegram-panel p{font-size:13px;line-height:1.7;color:#d4c5b9;margin:20px 0}
.telegram-panel .intake-head h3{font-size:29px}.telegram-panel .telegram-help{font-size:11px;color:#bbaa9b}
.telegram-panel .check-label{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;margin:24px 0}
.telegram-panel input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;accent-color:#c59069}
.telegram-panel .button{display:block;width:100%;font-size:13px;border-radius:3px;text-align:center;margin:12px 0}
.telegram-panel a:not(.button){font-size:11px;display:block;line-height:1.6;min-height:44px;padding:10px 0}
#telegram-status{font-size:12px;color:#e1ba99}.telegram-panel .button[hidden]{display:none}

/* Recording feedback is distinct from the later transcription request. */
#chat-form #dictation-start[aria-pressed=true]{color:#fff;background:#ad343c;box-shadow:inset 0 0 0 1px #e77b7e;border-radius:3px}
#dictation-status[data-state=recording]{color:#f2b5b8;display:inline-flex;align-items:center;gap:12px;font-size:10px}
#dictation-status[data-state=recording]::before{content:"";display:inline-block;width:3px;height:12px;background:#e98b92;box-shadow:-5px 0 #e98b92,5px 0 #e98b92;transform-origin:center;animation:dictation-wave .7s ease-in-out infinite alternate;margin-left:6px}
#dictation-status[data-state=processing]{color:#e8bd9c}
@keyframes dictation-wave{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){#dictation-status[data-state=recording]::before{animation:none}}

.payment-card{margin:0 22px 22px;padding:18px;border:1px solid #775f4f;background:#2b2522;color:#eadfd5}
.payment-card h3{font:22px/1.2 var(--serif);margin:0 0 12px}.payment-card ul{margin:0 0 14px;padding-left:18px}
.payment-card li{font-size:11px;line-height:1.55;margin:0 0 7px;color:#d0c0b3}.payment-card>a:not(.button){font-size:11px;color:#e3b18d;display:inline-block;margin-bottom:13px}
.payment-card .check-label{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.5;margin:0 0 13px}.payment-card input{width:17px;height:17px;accent-color:#bd8561;flex:0 0 17px}
.payment-card .button{display:block;width:100%;text-align:center;border-radius:2px;font-size:12px;margin:8px 0}.payment-card .payment-status{font-size:10px;line-height:1.5;color:#cbb9aa;margin:9px 0 0}
@media(max-width:700px){.payment-card{margin-left:18px;margin-right:18px;padding:16px}}
