:root{--bg: #ffffff;--surface: #f6f7f9;--ink: #14171f;--muted: #667085;--line: #e4e7ec;--line-strong: #cfd4dc;--accent: #0077b5;--on-accent: #ffffff;--danger: #b42318;--bubble: #f0f0f2;--icon-ink: #2b2d31;--send-bg: #14171f;--send-fg: #ffffff;--ease: cubic-bezier(.2, 0, 0, 1);--dur: .28s;font-family:SF Pro Text,Segoe UI Variable Text,Segoe UI,Roboto,Helvetica Neue,system-ui,sans-serif;font-size:16px;line-height:24px;color:var(--ink);color-scheme:light dark;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root{--bg: #1c1c1e;--surface: #2c2c2e;--ink: #f0f0f0;--muted: #aaaaaa;--line: #2c2c2e;--line-strong: #3a3a3c;--accent: #4ba8d8;--on-accent: #1c1c1e;--danger: #f97066;--bubble: #2c2c2e;--icon-ink: #e6e6e6;--send-bg: #f0f0f0;--send-fg: #1c1c1e}}@media(prefers-reduced-motion:reduce){:root{--dur: 0ms}}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;overscroll-behavior-y:none;background:var(--bg)}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--bg)}.conversation{flex:1;display:flex;flex-direction:column;padding-bottom:calc(var(--dock-h, 78px) + var(--kb-inset, 0px))}.dock{position:fixed;left:0;right:0;bottom:var(--kb-inset, 0px);z-index:10;display:flex;justify-content:center;padding:10px 12px max(12px,env(safe-area-inset-bottom));background:var(--bg)}.dock:focus-within{padding-bottom:12px}.thread{display:flex;flex-direction:column;gap:32px;width:100%;max-width:720px;margin-bottom:auto;margin-inline:auto;padding:28px 20px 48px}.msg{overflow-wrap:anywhere}.msg--user{position:relative;isolation:isolate;align-self:flex-end;max-width:min(82%,560px);margin-right:8px;padding:11px 18px;border:0;border-radius:20px;background:var(--bubble);white-space:pre-wrap;line-height:1.5}.msg--user:before,.msg--user:after{content:"";position:absolute;bottom:0;z-index:-1;height:20px}.msg--user:before{right:-7px;width:20px;background:var(--bubble);border-bottom-left-radius:16px 14px}.msg--user:after{right:-26px;width:26px;background:var(--bg);border-bottom-left-radius:10px}.msg--assistant{align-self:flex-start;max-width:100%;display:flex;flex-direction:column}.msg__text{margin:0;white-space:pre-wrap;line-height:1.65}.msg__text+.msg__text{margin-top:20px}.msg__text .w{animation:word-in .52s ease-out backwards}@keyframes word-in{0%{opacity:0}}.msg__text--error{color:var(--danger)}.fi{display:block;width:23.6px;height:23.6px;background-color:currentColor;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.fi--like{--icon: url(https://cdn.jsdelivr.net/npm/@fluentui/svg-icons@1.1.343/icons/thumb_like_24_regular.svg)}.fi--like-on{--icon: url(https://cdn.jsdelivr.net/npm/@fluentui/svg-icons@1.1.343/icons/thumb_like_24_filled.svg)}.fi--dislike{--icon: url(https://cdn.jsdelivr.net/npm/@fluentui/svg-icons@1.1.343/icons/thumb_dislike_24_regular.svg)}.fi--dislike-on{--icon: url(https://cdn.jsdelivr.net/npm/@fluentui/svg-icons@1.1.343/icons/thumb_dislike_24_filled.svg)}.fi--share{--icon: url(https://cdn.jsdelivr.net/npm/@fluentui/svg-icons@1.1.343/icons/share_ios_24_regular.svg)}.fi--copy{--icon: url(https://cdn.jsdelivr.net/npm/@fluentui/svg-icons@1.1.343/icons/copy_24_regular.svg)}.fi--check{--icon: url(https://cdn.jsdelivr.net/npm/@fluentui/svg-icons@1.1.343/icons/checkmark_24_regular.svg)}.fi--more{--icon: url(https://cdn.jsdelivr.net/npm/@fluentui/svg-icons@1.1.343/icons/more_horizontal_24_regular.svg)}.fi--speaker{--icon: url(https://cdn.jsdelivr.net/npm/@fluentui/svg-icons@1.1.343/icons/speaker_2_24_regular.svg)}.fi--speaker-on{--icon: url(https://cdn.jsdelivr.net/npm/@fluentui/svg-icons@1.1.343/icons/speaker_2_24_filled.svg)}.msg__actions{display:flex;align-items:center;gap:6px;margin-top:16px;margin-left:-11px}.msg__action{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:var(--icon-ink);transition:background-color var(--dur) var(--ease)}.msg__action:active{background:var(--surface)}@media(hover:hover){.msg__action:hover{background:var(--surface)}}.msg__action--end{margin-left:14px}.typing{display:inline-flex;gap:4px;padding:8px 0}.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:typing 1s ease-in-out infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,to{opacity:.25}40%{opacity:1}}@media(prefers-reduced-motion:reduce){.msg__text .w{animation:none}.typing i{animation:none;opacity:.6}}.composer{position:relative;width:min(100%,720px);padding:16px 20px;border-radius:28px;cursor:text;transition:padding var(--dur) var(--ease),border-radius var(--dur) var(--ease)}.composer[data-expanded=true]{padding:16px 12px 11px 20px;border-radius:22px}.composer>*{position:relative;z-index:1}.composer:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:var(--bg);border:1px solid var(--line-strong)}.composer__field{display:flex;align-items:flex-start;min-height:24px;transition:min-height var(--dur) var(--ease)}.composer[data-expanded=true] .composer__field{min-height:32px}.composer__input{display:block;flex:1 1 0;width:auto;min-width:0;max-height:min(40vh,200px);max-height:min(40svh,200px);margin:0;padding:0;border:0;outline:0;resize:none;overflow-y:auto;background:transparent;color:var(--ink);font:inherit;field-sizing:content;position:relative;top:-1px}.composer__input::placeholder{color:var(--muted)}.composer__actions{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--dur) var(--ease),visibility 0s linear var(--dur)}.composer[data-expanded=true] .composer__actions{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows var(--dur) var(--ease),visibility 0s}.composer__actions-clip{min-height:0;overflow:hidden}.composer__actions-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px}.composer__hint{font-size:13px;line-height:18px;color:var(--muted)}@media(pointer:coarse){.composer__hint{display:none}}.attach{display:grid;place-items:center;flex:none;color:var(--icon-ink)}.attach--inline{position:relative;width:24px;height:24px;margin-right:12px;transition:width var(--dur) var(--ease),margin-right var(--dur) var(--ease),opacity calc(var(--dur) * .6) var(--ease),visibility 0s}.attach--inline:after{content:"";position:absolute;inset:-12px -6px -12px -12px}.composer[data-expanded=true] .attach--inline{width:0;margin-right:0;opacity:0;visibility:hidden;overflow:hidden;transition:width var(--dur) var(--ease),margin-right var(--dur) var(--ease),opacity calc(var(--dur) * .6) var(--ease),visibility 0s linear var(--dur)}.attach--inline svg{flex:none}.attach--row{width:40px;height:40px;margin-left:-8px}.attach:active svg{opacity:.6}.send{position:relative;display:grid;place-items:center;flex:none;width:40px;height:40px;margin-left:auto;border-radius:50%;background:var(--send-bg);color:var(--send-fg);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.send>svg{grid-area:1 / 1;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.send__arrow{opacity:0;transform:translateY(6px) scale(.6)}.send[data-mode=send] .send__arrow{opacity:1;transform:none}.send[data-mode=send] .send__wave{opacity:0;transform:scale(.6)}.send:disabled{background:var(--surface);color:var(--muted);cursor:default}.send__wave rect{transform-box:fill-box;transform-origin:center;animation:wave 1.2s ease-in-out infinite alternate}.send__wave rect:nth-child(1){--lo: .3;--hi: .7;animation-duration:.9s}.send__wave rect:nth-child(2){--lo: .45;--hi: 1;animation-duration:1.15s;animation-delay:-.4s}.send__wave rect:nth-child(3){--lo: .25;--hi: .85;animation-duration:1s;animation-delay:-.7s}.send__wave rect:nth-child(4){--lo: .35;--hi: .6;animation-duration:1.3s;animation-delay:-.2s}@keyframes wave{0%{transform:scaleY(var(--lo))}to{transform:scaleY(var(--hi))}}.composer:not([data-expanded=true]) .send__wave rect,.send[data-mode=send] .send__wave rect{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.send__wave rect{animation:none;transform:scaleY(var(--hi))}}
