.companion{--cmp-surface: rgba(7, 17, 15, .96)}.cmp-launcher{position:fixed;z-index:50;right:24px;bottom:24px;width:60px;height:60px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--cmp-surface);backdrop-filter:blur(14px);border:1px solid var(--warm);color:var(--cream);cursor:pointer;font-family:var(--sans);transition:transform .2s ease,background .2s ease,bottom .2s ease}.cmp-launcher:hover{transform:translateY(-2px);background:var(--ink-soft)}.cmp-launcher[hidden]{display:none}.cmp-launcher-word{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream)}.cmp-launcher-dot{width:7px;height:7px;border-radius:50%;background:var(--warm)}.companion.open .cmp-launcher{display:none}.cmp-panel{position:fixed;z-index:55;right:24px;bottom:24px;width:min(420px,calc(100vw - 32px));height:min(680px,85dvh);display:flex;flex-direction:column;background:var(--cmp-surface);backdrop-filter:blur(18px);border:1px solid rgba(247,241,229,.16);color:var(--cream)}.cmp-panel[hidden]{display:none}.cmp-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-light)}.cmp-id{display:flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#f7f1e5bf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cmp-id i{width:8px;height:8px;border-radius:50%;background:var(--warm);flex:none}.cmp-bar-tools{flex:none}.cmp-bar-tools{display:flex;align-items:center;gap:6px}.cmp-voice{white-space:nowrap;font-family:var(--sans);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;background:none;border:1px solid var(--line-light);color:#f7f1e5bf;padding:7px 10px;cursor:pointer}.cmp-voice:hover{border-color:var(--warm);color:var(--cream)}.cmp-close{background:none;border:0;color:#f7f1e5bf;font-size:1.5rem;line-height:1;cursor:pointer;padding:6px 10px;margin:-6px -10px -6px 0}.cmp-close:hover{color:var(--cream)}.cmp-chat{flex:1;overflow-y:auto;padding:20px 18px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:var(--line-light) transparent}.cmp-msg{max-width:86%;padding:11px 14px;font-size:.93rem;line-height:1.55;overflow-wrap:break-word}.cmp-msg.agent{background:#f7f1e50d;border:1px solid var(--line-light);align-self:flex-start}.cmp-msg.agent b{color:var(--warm);font-weight:600}.cmp-msg.agent a{color:var(--cream);text-decoration-color:var(--warm);text-underline-offset:3px}.cmp-msg.user{background:var(--warm);color:#10150f;align-self:flex-end}.cmp-typing i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#f7f1e599;margin-right:4px;animation:cmp-blink 1s infinite}.cmp-typing i:nth-child(2){animation-delay:.2s}.cmp-typing i:nth-child(3){animation-delay:.4s}@keyframes cmp-blink{0%,60%,to{opacity:.25}30%{opacity:1}}.cmp-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 14px}.cmp-chip{font-family:var(--sans);font-size:.78rem;border:1px solid var(--line-light);color:#f7f1e5b8;background:none;padding:8px 12px;cursor:pointer}.cmp-chip:hover{border-color:var(--warm);color:var(--cream)}.cmp-input{display:flex;border-top:1px solid var(--line-light)}.cmp-mic{width:52px;border:0;border-right:1px solid var(--line-light);background:none;color:#f7f1e599;cursor:pointer;font-size:1rem}.cmp-mic:hover,.cmp-mic.live{color:var(--warm)}.cmp-mic.rec{color:#e26d5c;animation:cmp-recpulse 1.2s infinite}@keyframes cmp-recpulse{0%,to{opacity:1}50%{opacity:.45}}.cmp-input input{flex:1;min-width:0;background:none;border:0;color:var(--cream);font-family:var(--sans);font-size:.95rem;padding:15px 14px;outline:none}.cmp-input input::placeholder{color:#f7f1e573}.cmp-send{font-family:var(--sans);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;background:var(--warm);color:#10150f;border:0;padding:0 22px;cursor:pointer;font-weight:600}.cmp-note{margin:0;padding:9px 18px 12px;font-size:.7rem;color:#f7f1e580}.cmp-note a{color:inherit;text-decoration-color:var(--warm);text-underline-offset:2px}.cmp-form{display:grid;gap:9px;margin-top:10px;min-width:240px}.cmp-form input[type=text],.cmp-form input[type=email]{width:100%;background:#09120f99;border:1px solid var(--line-light);color:var(--cream);font-family:var(--sans);font-size:.88rem;padding:10px 12px;outline:none}.cmp-form input:focus{border-color:var(--warm)}.cmp-form label.cmp-consent{display:flex;gap:9px;align-items:flex-start;font-size:.8rem;color:#f7f1e5b8;cursor:pointer}.cmp-form label.cmp-consent input{accent-color:var(--warm);width:15px;height:15px;flex:none;margin-top:2px}.cmp-form label.cmp-consent a{color:var(--cream)}.cmp-form .cmp-go,.cmp-form .cmp-cal{font-family:var(--sans);font-size:.85rem;letter-spacing:.06em;background:var(--warm);color:#10150f;border:0;padding:11px 16px;cursor:pointer;font-weight:600;text-align:center;text-decoration:none;display:block}.cmp-form .cmp-cal{background:none;border:1px solid var(--warm);color:var(--cream)}.cmp-form .cmp-go:disabled{opacity:.55;cursor:default}.cmp-cal-wrap{display:grid;gap:8px}.cmp-cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.cmp-cal-day{font-size:.8rem;color:var(--warm);letter-spacing:.03em}.cmp-cal-prev,.cmp-cal-next{width:34px;height:34px;border:1px solid var(--line-light);background:none;color:#f7f1e5cc;font-size:1.1rem;line-height:1;cursor:pointer}.cmp-cal-prev:hover:not(:disabled),.cmp-cal-next:hover:not(:disabled){border-color:var(--warm);color:var(--cream)}.cmp-cal-prev:disabled,.cmp-cal-next:disabled{opacity:.35;cursor:default}.cmp-slots{position:relative;display:flex;flex-wrap:wrap;gap:6px;max-height:140px;overflow-y:auto}.cmp-slot{font-family:var(--sans);font-size:.76rem;border:1px solid var(--line-light);color:#f7f1e5cc;background:none;padding:7px 10px;cursor:pointer}.cmp-slot:hover{border-color:var(--warm);color:var(--cream)}.cmp-slot.sel{background:var(--warm);border-color:var(--warm);color:#10150f}@media(max-width:640px){.cmp-panel{inset:0;width:100%;height:100dvh;border:0}.cmp-launcher{right:16px;bottom:16px}.cmp-chip{padding:12px 14px}.cmp-close{padding:10px 14px;margin:-10px -14px -10px 0}.cmp-voice{padding:11px 12px}}@media(prefers-reduced-motion:reduce){.cmp-launcher{transition:none}.cmp-typing i,.cmp-mic.rec{animation:none}}
