html.zoe-lock,html.zoe-lock body{overflow:hidden}.zoe{--docs-accent: var(--primary-color, #512cf2);--docs-accent-rgb: var(--primary-color-rgb, 81, 44, 242);--docs-accent-contrast: #ffffff;--z-accent: var(--docs-accent);--z-accent-rgb: var(--docs-accent-rgb);--z-accent-text: color-mix(in srgb, var(--docs-accent) 78%, #ffffff);--z-bg: #121214;--z-surface: #18181b;--z-surface-2: #1f1f23;--z-code: #0e0e10;--z-border: #27272a;--z-border-strong: #34343a;--z-text: #e4e4e7;--z-muted: #b4b4bb;--z-faint: #8f8f99;--z-heading: #fafafa;--z-ease: cubic-bezier(0.22, 0.8, 0.24, 1);--z-mono: "JetBrains Mono", "Cascadia Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;position:fixed;right:24px;bottom:calc(24px + var(--zoe-lift, 0px));z-index:100000004;font-family:"Instrument Sans", sans-serif;font-size:14px;line-height:1.6;color:var(--z-text);-webkit-font-smoothing:antialiased}.zoe *,.zoe *::before,.zoe *::after{box-sizing:border-box}.zoe [hidden]{display:none !important}.zoe svg{display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.zoe button{font-family:inherit}.zoe a{font-size:inherit}.zoe--placed{transition:bottom 0.25s var(--z-ease)}.zoe-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.zoe-avatar{position:relative;display:inline-flex;flex-shrink:0;border-radius:50%}.zoe-avatar .zoe-mark{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;background:#e9d9c4}.zoe-avatar--launcher{width:30px;height:30px;box-shadow:0 0 0 2px rgba(255,255,255,0.85)}.zoe-avatar--head{width:38px;height:38px;box-shadow:0 0 0 2px var(--z-bg),0 0 0 3.5px rgba(var(--z-accent-rgb), 0.7)}.zoe-avatar--head::after{content:"";position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border:2px solid var(--z-bg);border-radius:50%;background:#22c55e}.zoe-avatar--hero{width:56px;height:56px;box-shadow:0 0 0 3px var(--z-surface),0 0 0 5px rgba(var(--z-accent-rgb), 0.55)}.zoe-avatar--msg{width:28px;height:28px;margin-top:2px}.zoe-launcher{display:flex;align-items:center;gap:10px;margin-left:auto;height:48px;padding:0 20px 0 9px;border:1px solid color-mix(in srgb, var(--z-accent) 80%, #fff);border-radius:999px;background:linear-gradient(135deg, color-mix(in srgb, var(--z-accent) 88%, #fff), var(--z-accent) 60%);color:var(--docs-accent-contrast);font-size:15px;font-weight:600;letter-spacing:0.01em;cursor:pointer;transition:transform 0.2s var(--z-ease),filter 0.2s ease;animation:zoe-launch 0.45s var(--z-ease)}.zoe-launcher:hover{transform:translateY(-2px);filter:brightness(1.06)}.zoe-launcher:active{transform:translateY(0)}.zoe-launcher:focus-visible{outline:2px solid var(--z-heading);outline-offset:3px}.zoe-launcher .zoe-launcher__close{display:none;width:20px;height:20px}.zoe--open .zoe-launcher{width:48px;padding:0;justify-content:center;border-color:var(--z-border-strong);background:var(--z-surface);color:var(--z-text)}.zoe--open .zoe-launcher .zoe-avatar--launcher,.zoe--open .zoe-launcher .zoe-launcher__label{display:none}.zoe--open .zoe-launcher .zoe-launcher__close{display:block}.zoe--open .zoe-launcher:hover{border-color:var(--z-faint)}.zoe--nudged:not(.zoe--open) .zoe-avatar--launcher::after{content:"";position:absolute;top:-2px;right:-2px;width:11px;height:11px;border:2px solid var(--z-accent);border-radius:50%;background:#ef4444}.zoe-nudge{position:absolute;right:0;bottom:62px;width:max-content;max-width:300px;transform-origin:bottom right;animation:zoe-nudge 0.4s var(--z-ease)}.zoe-nudge__body{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 34px 13px 12px;border:1px solid rgba(var(--z-accent-rgb), 0.32);border-radius:16px 16px 4px 16px;background:radial-gradient(140% 90% at 0% 0%, rgba(var(--z-accent-rgb), 0.14), transparent 70%),var(--z-surface);box-shadow:0 18px 40px -16px rgba(0,0,0,0.75);color:var(--z-text);font-size:13.5px;line-height:1.5;text-align:left;cursor:pointer;transition:transform 0.2s var(--z-ease),border-color 0.2s ease}.zoe-nudge__body:hover{border-color:rgba(var(--z-accent-rgb), 0.55);transform:translateY(-2px)}.zoe-nudge__body:focus-visible{outline:2px solid var(--z-accent);outline-offset:2px}.zoe-avatar--nudge{width:32px;height:32px;margin-top:1px}.zoe-nudge__name{display:block;margin-bottom:1px;color:var(--z-heading);font:600 13.5px/1.3 "Cal Sans", sans-serif;letter-spacing:0.01em}.zoe-nudge__close{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--z-faint);cursor:pointer}.zoe-nudge__close svg{width:14px;height:14px}.zoe-nudge__close:hover{background:rgba(255,255,255,0.06);color:var(--z-heading)}.zoe-panel{position:absolute;right:0;bottom:62px;display:flex;flex-direction:column;width:410px;height:clamp(380px, calc(100vh - 130px - var(--zoe-lift, 0px)), 660px);overflow:hidden;border:1px solid rgba(var(--z-accent-rgb), 0.28);border-radius:18px;background:radial-gradient(120% 60% at 0% 0%, rgba(var(--z-accent-rgb), 0.16), transparent 70%),var(--z-bg);box-shadow:0 24px 64px -12px rgba(0,0,0,0.7),0 0 0 1px rgba(0,0,0,0.4);transform-origin:bottom right;animation:zoe-open 0.24s var(--z-ease)}.zoe-head{display:flex;align-items:center;gap:12px;padding:14px 12px 14px 16px;border-bottom:1px solid rgba(255,255,255,0.06)}.zoe-head__text{flex:1;min-width:0}.zoe-head__title{margin:0;color:var(--z-heading);font:600 17px/1.2 "Cal Sans", sans-serif;letter-spacing:0.01em}.zoe-head__sub{margin:2px 0 0;color:var(--z-muted);font-size:12.5px}.zoe-icon-btn{display:grid;place-items:center;width:34px;height:34px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--z-muted);cursor:pointer;transition:background 0.15s ease, color 0.15s ease, border-color 0.15s ease}.zoe-icon-btn svg{width:17px;height:17px}.zoe-icon-btn:hover{border-color:rgba(255,255,255,0.08);background:rgba(255,255,255,0.05);color:var(--z-heading)}.zoe-icon-btn:focus-visible{outline:2px solid var(--z-accent);outline-offset:1px}.zoe-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 12px;scrollbar-width:thin;scrollbar-color:#2c2c30 transparent}.zoe-welcome{animation:zoe-rise 0.35s var(--z-ease)}.zoe-hero{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid rgba(var(--z-accent-rgb), 0.3);border-radius:14px;background:linear-gradient(135deg, rgba(var(--z-accent-rgb), 0.16), rgba(var(--z-accent-rgb), 0.04) 70%)}.zoe-hero__title{margin:2px 0 4px;color:var(--z-heading);font:600 19px/1.25 "Cal Sans", sans-serif}.zoe-hero__text{margin:0;color:var(--z-muted);font-size:13.5px;line-height:1.55}.zoe-suggest__label{margin:20px 2px 10px;color:var(--z-faint);font-size:11.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase}.zoe-suggest{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:8px;margin:0;padding:0;list-style:none}.zoe-suggest button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;height:100%;padding:12px;border:1px solid var(--z-border);border-radius:12px;background:var(--z-surface);color:var(--z-text);font-size:13.5px;line-height:1.4;text-align:left;cursor:pointer;transition:border-color 0.18s ease,background 0.18s ease,transform 0.18s var(--z-ease)}.zoe-suggest button:hover{border-color:rgba(var(--z-accent-rgb), 0.55);background:var(--z-surface-2);transform:translateY(-2px)}.zoe-suggest button:hover .zoe-suggest__icon{background:rgba(var(--z-accent-rgb), 0.22)}.zoe-suggest button:focus-visible{outline:2px solid var(--z-accent);outline-offset:1px}.zoe-suggest__icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(var(--z-accent-rgb), 0.14);color:var(--z-accent-text);transition:background 0.18s ease}.zoe-suggest__icon svg{width:15px;height:15px}.zoe-suggest__text small{display:block;margin-top:2px;color:var(--z-faint);font-size:12px}.zoe-log{display:flex;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none}.zoe-greeting{margin-bottom:4px}.zoe-msg{display:flex;gap:10px;animation:zoe-rise 0.28s var(--z-ease)}.zoe-msg--user{justify-content:flex-end}.zoe-msg--user .zoe-bubble{position:relative;max-width:82%;padding:9px 14px;border:1px solid rgba(var(--z-accent-rgb), 0.4);border-radius:16px 16px 4px 16px;background:linear-gradient(135deg, rgba(var(--z-accent-rgb), 0.24), rgba(var(--z-accent-rgb), 0.12));color:var(--z-heading);white-space:pre-wrap;overflow-wrap:anywhere}.zoe-reaction{position:absolute;left:-10px;bottom:-12px;padding:0 6px;border:1px solid var(--z-border-strong);border-radius:999px;background:var(--z-surface-2);font-size:13px;line-height:22px;animation:zoe-launch 0.3s var(--z-ease)}.zoe-msg__content{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:calc(100% - 38px)}.zoe-msg--zoe .zoe-bubble{padding:11px 14px;border:1px solid var(--z-border);border-radius:4px 16px 16px 16px;background:var(--z-surface);overflow-wrap:anywhere}.zoe-msg--zoe.is-failed .zoe-bubble{border-color:rgba(239,68,68,0.3);color:var(--z-muted)}.zoe-typing{display:flex;align-items:center;gap:4px}.zoe-typing span{width:6px;height:6px;border-radius:50%;background:var(--z-accent-text);animation:zoe-dot 1.2s infinite ease-in-out}.zoe-typing span:nth-child(2){animation-delay:0.15s}.zoe-typing span:nth-child(3){animation-delay:0.3s}.zoe-typing em{margin-left:8px;color:var(--z-muted);font-size:13px;font-style:normal}.zoe-md>:first-child{margin-top:0}.zoe-md>:last-child{margin-bottom:0}.zoe-md p,.zoe-md ul,.zoe-md ol,.zoe-md blockquote,.zoe-md pre,.zoe-md table{margin:0 0 10px}.zoe-md ul,.zoe-md ol{padding-left:20px}.zoe-md li+li{margin-top:3px}.zoe-md li::marker{color:var(--z-faint)}.zoe-md h1,.zoe-md h2,.zoe-md h3,.zoe-md h4{margin:14px 0 6px;color:var(--z-heading);font:600 15px/1.3 "Cal Sans", sans-serif}.zoe-md strong{color:var(--z-heading);font-weight:600}.zoe-md a{color:var(--z-accent-text);text-decoration:underline;text-decoration-color:rgba(var(--z-accent-rgb), 0.45);text-underline-offset:3px}.zoe-md a:hover{text-decoration-color:currentColor}.zoe-md code{padding:1px 6px;border:1px solid var(--z-border);border-radius:6px;background:var(--z-code);color:var(--z-heading);font:12.5px/1.5 var(--z-mono)}.zoe-md pre{position:relative;overflow-x:auto;padding:12px 14px;border:1px solid var(--z-border);border-radius:10px;background:var(--z-code);scrollbar-width:thin}.zoe-md pre code{padding:0;border:0;background:none;color:var(--z-text);white-space:pre}.zoe-md blockquote{padding-left:12px;border-left:3px solid rgba(var(--z-accent-rgb), 0.5);color:var(--z-muted)}.zoe-md table{display:block;overflow-x:auto;border-collapse:collapse;font-size:13px}.zoe-md th,.zoe-md td{padding:5px 9px;border:1px solid var(--z-border)}.zoe-md hr{border:0;border-top:1px solid var(--z-border)}.zoe-md.is-streaming>:last-child::after{content:"";display:inline-block;width:7px;height:14px;margin-left:3px;border-radius:2px;background:var(--z-accent-text);vertical-align:-2px;animation:zoe-caret 0.9s steps(2) infinite}.zoe-copy{position:absolute;top:6px;right:6px;padding:3px 9px;border:1px solid var(--z-border-strong);border-radius:7px;background:var(--z-surface-2);color:var(--z-muted);font-size:11.5px;cursor:pointer;opacity:0;transition:opacity 0.15s}pre:hover .zoe-copy,.zoe-copy:focus-visible{opacity:1}.zoe-figures{display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:6px}.zoe-figures a{display:block;overflow:hidden;border:1px solid var(--z-border);border-radius:10px}.zoe-figures img{display:block;width:100%;max-height:180px;object-fit:cover;transition:transform 0.25s var(--z-ease)}.zoe-figures a:hover img{transform:scale(1.03)}.zoe-cta{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(88,101,242,0.45);border-radius:14px;background:linear-gradient(135deg, rgba(88,101,242,0.24), rgba(88,101,242,0.07));color:var(--z-heading);text-decoration:none;transition:border-color 0.18s ease,transform 0.18s var(--z-ease)}.zoe-cta:hover{border-color:rgba(88,101,242,0.85);transform:translateY(-1px);color:var(--z-heading)}.zoe-cta:hover .zoe-cta__arrow{transform:translate(2px, -2px)}.zoe-cta__icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:10px;background:#5865f2}.zoe-cta__icon svg{width:20px;height:20px;fill:#fff;stroke:none}.zoe-cta__text{display:flex;flex:1;flex-direction:column}.zoe-cta__text strong{font:600 14.5px/1.3 "Cal Sans", sans-serif;letter-spacing:0.01em}.zoe-cta__text small{color:var(--z-muted);font-size:12.5px}.zoe-cta__arrow{width:16px;height:16px;color:var(--z-muted);transition:transform 0.18s var(--z-ease)}.zoe-actions{display:flex;gap:2px;opacity:0;transition:opacity 0.15s}.zoe-msg:hover .zoe-actions,.zoe-msg:last-child .zoe-actions,.zoe-actions:focus-within{opacity:1}.zoe-rate{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:var(--z-faint);cursor:pointer}.zoe-rate svg{width:14px;height:14px}.zoe-rate:hover{background:rgba(255,255,255,0.05);color:var(--z-text)}.zoe-rate.is-on{color:var(--z-accent-text)}.zoe-rate.is-on svg{fill:rgba(var(--z-accent-rgb), 0.3)}.zoe-composer{padding:12px 14px;border-top:1px solid rgba(255,255,255,0.06);background:rgba(0,0,0,0.15)}.zoe-turnstile{display:flex;justify-content:center}.zoe-turnstile:empty{display:none}.zoe-turnstile>*{margin-bottom:8px}.zoe-notice{margin:0 0 10px;padding:9px 12px;border:1px solid rgba(245,158,11,0.35);border-radius:10px;background:rgba(245,158,11,0.08);color:#fcd34d;font-size:13px}.zoe-notice a{color:#fde68a;font-weight:600}.zoe-input{display:flex;align-items:flex-end;gap:8px;padding:7px 7px 7px 14px;border:1px solid var(--z-border-strong);border-radius:14px;background:var(--z-surface);transition:border-color 0.15s ease, box-shadow 0.15s ease}.zoe-input:focus-within{border-color:rgba(var(--z-accent-rgb), 0.75);box-shadow:0 0 0 3px rgba(var(--z-accent-rgb), 0.15)}.zoe-input textarea{flex:1;min-height:24px;max-height:160px;margin:0 0 5px;padding:0;border:0;outline:0;background:transparent;color:var(--z-heading);font:14.5px/1.55 "Instrument Sans", sans-serif;resize:none}.zoe-input textarea::placeholder{color:var(--z-faint)}.zoe-send{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:0;border-radius:10px;background:var(--z-surface-2);color:var(--z-faint);cursor:pointer;transition:background 0.2s ease,color 0.2s ease,transform 0.15s var(--z-ease)}.zoe-send svg{width:17px;height:17px;stroke-width:2.3}.zoe-send.is-ready{background:var(--z-accent);color:var(--docs-accent-contrast)}.zoe-send.is-ready:hover{transform:translateY(-1px)}.zoe-send:disabled{opacity:0.55;cursor:progress}.zoe-foot{margin:9px 2px 0;color:var(--z-faint);font-size:12.5px;text-align:center}.zoe-foot a{color:var(--z-accent-text);font-weight:600;text-decoration:none}.zoe-foot a:hover{text-decoration:underline;text-underline-offset:3px}@media (max-width: 640px){.zoe{right:16px;bottom:calc(16px + var(--zoe-lift, 0px))}.zoe--open .zoe-launcher{display:none}.zoe-nudge{max-width:calc(100vw - 32px)}.zoe-panel{position:fixed;inset:0;width:auto;height:100dvh;border:0;border-radius:0;box-shadow:none;animation:zoe-sheet 0.28s var(--z-ease)}.zoe-head{padding-top:calc(14px + env(safe-area-inset-top))}.zoe-composer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.zoe-input textarea{font-size:16px}}@media (max-width: 380px){.zoe-suggest{grid-template-columns:minmax(0, 1fr)}}@keyframes zoe-launch{from{opacity:0;transform:translateY(8px) scale(0.92)}to{opacity:1;transform:none}}@keyframes zoe-nudge{from{opacity:0;transform:translateY(10px) scale(0.9)}to{opacity:1;transform:none}}@keyframes zoe-open{from{opacity:0;transform:translateY(10px) scale(0.97)}to{opacity:1;transform:none}}@keyframes zoe-sheet{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes zoe-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes zoe-dot{0%,80%,100%{opacity:0.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes zoe-caret{to{opacity:0}}@media (prefers-reduced-motion: reduce){.zoe *,.zoe *::before,.zoe *::after{animation:none !important;transition:none !important}}
